List a project's units (GET /projects/{id}/units) — 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

Off-plan projects

List a project's units

GET/projects/{id}/units

Active listings on Kite linked to one project: units for sale (total price) and, for some projects, rentals (yearly rent). Units priced implausibly low for their city are left out. Returns 404 if the project isn't active.

Authentication
Send a data key (dk_live_… or dk_test_…) as a Bearer token.
Scope
projects
Cost
NaN units per call

Parameters

NameTypeDescription
idrequiredpathinteger

Project id.

listing_typequerystring

Omit for both. Most project units are for sale; some are rentals.

One of: sale, rent

property_typequerystring[]

One or more, comma-separated.

One of: apartment,

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

    villa
    , floor
    , land
    , building
    , office
    , shop
    bedroomsqueryinteger

    Exact number of bedrooms.

    bedrooms_minqueryinteger
    bedrooms_maxqueryinteger
    bathroomsqueryinteger

    Exact number of bathrooms.

    bathrooms_minqueryinteger
    price_minqueryinteger

    SAR. Compared with sale_price_sar for sales and yearly_rent_sar for rentals; set listing_type to keep them apart.

    price_maxqueryinteger
    area_minquerynumber

    Square meters.

    area_maxquerynumber
    sortquerystring

    price_asc/price_desc (by SAR amount; sales and yearly rents sort together unless you set listing_type), newest (first seen by Kite), area_desc, bedrooms_desc.

    One of: price_asc, price_desc, newest, area_desc, bedrooms_desc

    limitqueryinteger
    cursorquerystring

    Response

    The data field is a list; each item has these fields.

    NameTypeDescription
    idrequiredinteger

    Listing id; GET /listings/{id} returns the full listing (with the listings scope).

    urlrequiredstring

    The listing's page on kite.sa.

    projectrequiredobject
    linkrequiredobject

    How the listing was tied to the project: source (the source says so, confidence 1), geo (inside or next to the project's boundary) or text (project named in the ad). New types may be added.

    titlerequiredstring | null
    listing_typerequiredstring

    One of: sale, rent

    property_typerequiredstring
    sale_price_sarrequiredinteger | null

    Total purchase price in SAR. Null for rentals.

    yearly_rent_sarrequiredinteger | null

    Rent in SAR per year (monthly and daily postings normalized to yearly). Null for units for sale.

    bedroomsrequiredinteger | null
    bathroomsrequiredinteger | null
    area_sqmrequirednumber | null
    floorrequiredstring | null
    locationrequiredobject
    imagesrequiredstring[]

    Up to three image URLs on Kite's CDN.

    sourcerequiredobject
    first_seen_atrequiredstring (date-time) | null
    last_seen_atrequiredstring (date-time) | null

    Example request

    curl
    curl "https://api.kite.sa/v1/projects/4812/units" \
      -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.projects.units(4812);
    Python (kite-sa)
    from kite_sa import Kite
    
    kite = Kite()  # reads KITE_API_KEY
    result = kite.projects.units(4812)

    Open in the interactive reference

    Related endpoints

    • Search projects GET /projects
    • Get a project GET /projects/{id}
    • Search project units GET /project-units
    • List developers GET /developers

    Guides

    • Quickstart
    • Searching and filtering
    • Limits and quotas
    • Pagination
    • Errors