Skip to content

Filtering projects

GET /projects returns published projects only, as a paginated list. It accepts a large set of optional query parameters; they are combined with AND semantics. Parameters marked as CSV accept a comma-separated list, for example statuses=3,4. The full list with types and limits is in the reference.

search matches a case-insensitive substring of the project name or its developer’s name. developer_ids (CSV of company IDs from GET /companies), unit_types (CSV of Project.type values), development_status (construction stages 1–3), bedrooms (CSV; 0 is a studio and 5 means 5+) and statuses (unit statuses 1–5: announced, EOI, start of sales, on sale, out of stock) narrow the catalogue. The flags is_branded, is_resale and is_escrow filter by project attributes.

price_min / price_max, price_per_ft2_min / price_per_ft2_max and price_per_m2_min / price_per_m2_max are expressed in the key’s prices — see Pricing and the price vector. size_min / size_max are unit areas in m², and parking_min is the minimum number of parking spaces.

handover_from and handover_to bound the handover date and accept RFC 3339 or YYYY-MM-DD. payment_max_pre_handover caps the percentage of payments due before handover, payment_min_after_handover sets a floor on payments due after it (both 0–100), and payment_only_post_handover=true keeps only projects with post-handover payments.

A geographic search requires all three of lat, lng and radius_km (greater than zero). The near_* flags — near_airport, near_education, near_employment, near_healthcare, near_lifestyle, near_retail, near_transport and near_tourism — keep projects that have a facility of that category nearby; the proximity threshold is configured on the server and cannot be set per request.

preference_ids is a CSV of project feature/amenity IDs from GET /project-preferences; the project must have all of them. unit_preference_ids is a CSV of unit tag IDs from GET /preferences, applied to a single unit: the project must have one unit that carries all listed tags and also satisfies every other unit-level filter.

Two- and three-bedroom units on sale between AED 1.5M and 3M:

Terminal window
curl -G https://agent-dev.azizdubai.com/projects \
-H "X-API-Key: $AZIZ_API_KEY" \
--data-urlencode "bedrooms=2,3" \
--data-urlencode "statuses=4" \
--data-urlencode "price_min=1500000" \
--data-urlencode "price_max=3000000"

Handover in 2027–2028 with at most 40% paid before handover:

Terminal window
curl -G https://agent-dev.azizdubai.com/projects \
-H "X-API-Key: $AZIZ_API_KEY" \
--data-urlencode "handover_from=2027-01-01" \
--data-urlencode "handover_to=2028-12-31" \
--data-urlencode "payment_max_pre_handover=40"

Branded projects within 5 km of Dubai Marina, near a school, with given features:

Terminal window
curl -G https://agent-dev.azizdubai.com/projects \
-H "X-API-Key: $AZIZ_API_KEY" \
--data-urlencode "lat=25.0805" \
--data-urlencode "lng=55.1403" \
--data-urlencode "radius_km=5" \
--data-urlencode "near_education=true" \
--data-urlencode "is_branded=true" \
--data-urlencode "preference_ids=1,7"