Registered rents (REGA) (GET /market/registered-rents) — Kite API
KitePlatform
Use casesDocsGuidesPricing
Browse endpoints
All endpoints

Reference data

  • List cities
  • List neighborhoods
  • List city directions
  • List enumerated values
  • Get this key's limits
  • What the API covers

Listings

  • Search listings
  • Count listings
  • Get listings by id
  • Get a listing
  • Get a listing's price history

Market data

  • Market summary
  • Price distribution
  • Area distribution
  • New supply
  • Vacancy indicator
  • Prices by neighborhood
  • Commercial rent per m² by neighborhood

Official data

  • Registered rents (REGA)
  • Kite Property Index

Analytics

  • Get comparable listings
  • Get a listing's market position
  • Get a listing's nearby asking-price band
  • Find below-market listings
  • Find below-market listings (old path)
  • Get gross rental yield
  • Get price trends
  • Compare neighborhoods

Registered transactions

  • Search registered deals
  • Registered deal statistics
  • Land prices per m²

Off-plan projects

  • Search projects
  • Get a project
  • List a project's units
  • Search project units
  • List developers

Exports

  • Create an export
  • List exports
  • Get an export

Administration

  • Get your organization
  • List data keys
  • Create a data key
  • Revoke a key
  • List projects
  • Daily usage
  • List members and invitations
  • List audit events
  • List request logs
  • Create a webhook endpoint
  • List webhook endpoints
  • Delete a webhook endpoint
  • List deliveries
  • Replay a delivery

Interactive reference

All endpoints

Reference data

  • List cities
  • List neighborhoods
  • List city directions
  • List enumerated values
  • Get this key's limits
  • What the API covers

Listings

  • Search listings
  • Count listings
  • Get listings by id
  • Get a listing
  • Get a listing's price history

Market data

  • Market summary
  • Price distribution
  • Area distribution
  • New supply
  • Vacancy indicator
  • Prices by neighborhood

Official data

Registered rents (REGA)

GET/market/registered-rents

Free on every plan (0 units). This is Saudi open data, served at no charge under the Saudi Open Data License v2.0 with attribution: show attribution.notice wherever you display or pass on the figures.

Registered rents from REGA's quarterly rent index ("مؤشر الايجار", published on open.data.gov.sa): for each neighborhood and property type, the mean yearly rent of the residential leases registered on Ejar that quarter, the mean yearly rent per m², and the number of contracts behind them.

  • These are means, not medians. REGA publishes the mean; a few large leases pull it up, so it usually sits above a median. Compare them with other means, and price_source: "registered" figures with other registered figures: asking prices from /market/summary are a different quantity.
  • Money is yearly: mean_rent_sar is SAR per year and mean_rent_per_sqm_sar SAR per m² per year.
  • Cells with fewer than 5 contracts are withheld (min_sample_size, which you can raise but not lower). 41% of REGA's cells in Kite's cities hold 1–4 contracts, but only 0.8% of contracts; at that size the same cell's mean moves 20–29% from one quarter to the next, which is noise, not rent. coverage says how many cells and contracts were withheld.
  • neighborhood_id is Kite's neighborhood where REGA's name has been matched to one (daily). Unmatched cells are still returned with neighborhood_id: null and REGA's own names; filtering by neighborhood_id returns matched cells only. town_ar is REGA's city: for eastern_province and qassim a Kite city spans many towns whose neighborhood names repeat, so read the two together.
  • is the mean over every contract REGA counted in the city that quarter, withheld cells included (each cell's mean weighted by its contracts). It moves with where leases were signed, so a change from one quarter to the next is partly mix; for a rent trend use the series of GET /market/property-index. Per m² is not totalled, because REGA doesn't say how its per-m² mean is weighted.
Kite API

Saudi real estate data for developers.

Product
  • API reference
  • Data coverage
  • Pricing
  • Valuation checks
  • Changelog
  • Status
Company
  • kite.sa
  • Contact
  • Security
Legal
  • Terms
  • Subprocessors
© Kite
  • Commercial rent per m² by neighborhood
  • Official data

    • Registered rents (REGA)
    • Kite Property Index

    Analytics

    • Get comparable listings
    • Get a listing's market position
    • Get a listing's nearby asking-price band
    • Find below-market listings
    • Find below-market listings (old path)
    • Get gross rental yield
    • Get price trends
    • Compare neighborhoods

    Registered transactions

    • Search registered deals
    • Registered deal statistics
    • Land prices per m²

    Off-plan projects

    • Search projects
    • Get a project
    • List a project's units
    • Search project units
    • List developers

    Exports

    • Create an export
    • List exports
    • Get an export

    Administration

    • Get your organization
    • List data keys
    • Create a data key
    • Revoke a key
    • List projects
    • Daily usage
    • List members and invitations
    • List audit events
    • List request logs
    • Create a webhook endpoint
    • List webhook endpoints
    • Delete a webhook endpoint
    • List deliveries
    • Replay a delivery

    Interactive reference

    city_totals
    rent_contracted
  • REGA publishes a quarter some weeks after it ends; available_periods lists what it has for the city.
  • Authentication
    Send a data key (dk_live_… or dk_test_…) as a Bearer token.
    Scope
    reference
    Cost
    Free0: Saudi open data is served free on every plan, including Sandbox

    Parameters

    NameTypeDescription
    cityrequiredquerystring

    City slug from GET /cities. A town inside a covered region is accepted and resolved to its city (dammam, khobar, dhahran, jubail and qatif to eastern_province; buraydah and unaizah to qassim; hofuf to al_ahsa), as are Arabic city names. The response's filters.city and the X-Resolved-City header show the slug used.

    neighborhood_idqueryinteger[]

    Limit to one or more neighborhoods (comma-separated ids from GET /cities/{city}/neighborhoods). Unknown ids are a 404; a known neighborhood with no matched REGA cell returns no cells.

    property_typequerystring[]

    REGA's residential property types (comma-separated): apartment (شقة), studio (استديو), floor (دور), villa (فيلا), duplex (دوبلاكس). Default all. Studios are their own type in REGA's index and are not included in apartment.

    One of: apartment, studio, floor, villa, duplex

    periodquerystring

    Quarter as YYYY-Qn. Default: the latest REGA has published for the city.

    min_sample_sizequeryinteger

    Withhold cells with fewer contracts than this. At least 5.

    Response

    The data field is an object with these fields.

    NameTypeDescription
    filtersrequiredobject
    periodrequiredobject
    available_periodsrequiredstring[]

    Quarters REGA has published for this city, newest first.

    price_sourcerequiredstring

    Where the prices come from: asking = advertised asking prices from listings; registered = registered transactions or rent contracts. Asking prices typically sit above what is finally agreed.

    One of: asking, registered

    price_basisrequiredstring

    One of: yearly_rent

    statisticrequiredstring

    One of: mean

    min_sample_sizerequiredinteger
    cellsrequiredobject[]
    coveragerequiredobject
    city_totalsrequiredobject[]

    City-wide mean per property type, over all cells including withheld ones. Not filtered by neighborhood_id.

    attributionrequiredobject

    Licence notice, licence links and source datasets. Figures derived from Saudi open data are served under the Saudi Open Data License (an adaptation of ODC-By), which requires this attribution to travel with them.

    Example request

    curl
    curl "https://api.kite.sa/v1/market/registered-rents?city=riyadh" \
      -H "Authorization: Bearer $KITE_API_KEY"
    JavaScript (@kite-sa/sdk)
    import { Kite } from "@kite-sa/sdk";
    
    const kite = new Kite(); // reads KITE_API_KEY
    const result = await kite.official.registeredRents({ city: "riyadh" });
    Python (kite-sa)
    from kite_sa import Kite
    
    kite = Kite()  # reads KITE_API_KEY
    result = kite.official.registered_rents(city="riyadh")

    Open in the interactive reference

    Related endpoints

    • Kite Property Index GET /market/property-index

    Guides

    • Quickstart
    • Coverage and freshness
    • Limits and quotas
    • Errors
    • Terms in practice