Search project units (GET /project-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
    • 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

    Off-plan projects

    Search project units

    GET/project-units

    Units across all projects: active listings linked to a project, filtered by the unit (bedrooms, price, area) and by its project (city, developer, status). A listing linked to several projects appears once, under its strongest link. Units priced implausibly low for their city (installments, typos) are left out.

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

    Parameters

    NameTypeDescription
    cityquerystring

    Omit for all cities.

    neighborhood_idqueryinteger[]

    Neighborhood ids from GET /cities/{city}/neighborhoods; matches the unit's neighborhood, or its project's when the unit has none.

    developerquerystring

    Exact developer name, as returned by GET /developers.

    statusquerystring[]

    One or more, comma-separated.

    One of: available, coming_soon, not_started, under_construction, completed, sold_out

    project_typequerystring

    One of: off_plan, ready

    listing_categoryquerystring

    Omit for both.

    One of: residential, commercial

    featuresquerystring[]

    Only projects with all of these, see GET /enums.

    banksquerystring[]

    Only projects financed by all of these, see GET /enums.

    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, 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.

    Example request

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

    Open in the interactive reference

    Related endpoints

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

    Guides

    • Quickstart
    • Searching and filtering
    • Limits and quotas
    • Pagination
    • Errors
    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
    yearly_rent_sarrequired
    integer | 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