OpenSooq APIjo.opensooq.com ↗
Access classified listings, property-for-sale search, categories, and listing details from OpenSooq Jordan via a structured REST API.
What is the OpenSooq API?
This API exposes 6 endpoints covering OpenSooq Jordan's classified marketplace — from browsing top-level categories to fetching full listing details including price, images, location, and seller info. The search_properties_for_sale endpoint lets you filter Jordan property listings by city, neighbourhood, property type, and JOD price range, returning up to 30 summaries per page alongside a total count and pagination state.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/d8b13845-b2b0-4a24-a8a7-eaa26da5a269/get_categories' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieves all top-level listing categories from the OpenSooq Jordan homepage. Each category has a name, full URL, and a slug usable with get_listings_by_category. The category set is relatively stable (Motors, Property, Jobs, Services, Electronics, etc.) but may shift as OpenSooq reorganizes.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of category objects each containing name, url, and slug"
},
"sample": {
"data": {
"items": [
{
"url": "https://jo.opensooq.com/en/autos",
"name": "Motors",
"slug": "autos"
},
{
"url": "https://jo.opensooq.com/en/real-estate",
"name": "Property",
"slug": "real-estate"
},
{
"url": "https://jo.opensooq.com/en/electronics",
"name": "Electronics",
"slug": "electronics"
}
]
},
"status": "success"
}
}About the OpenSooq API
Categories and Listings
get_categories returns all top-level sections on the OpenSooq Jordan homepage — Motors, Property, Jobs, Electronics, and others — each with a name, url, and slug. Pass that slug to get_listings_by_category to get a paginated array of listing id and url pairs for any category. For freeform discovery, search_listings accepts a query string (e.g. Toyota, iPhone, apartment) and returns the same id/url shape, ordered by the site's relevance and recency ranking.
Listing Details
get_listing_detail takes a numeric listing_id from any of the listing-returning endpoints and returns the full record: title, price, currency (e.g. JOD), description, publish_date, images (full-size gallery URLs), city, neighbourhood, seller, category, subcategory, and property-specific fields like bedrooms, bathrooms, and area (e.g. 94 m2). It works across all categories, not just property.
Property-for-Sale Search
list_property_sale_filters returns the complete filter vocabulary for the property-for-sale section: every property_type (apartments, villas, land, commercial, etc.) with its slug and current listing_count, every Jordanian city with its slug, and — when you supply a city slug — the neighbourhoods within that city. Feed those slugs directly into search_properties_for_sale, which accepts city, neighbourhood, property_type, min_price, max_price, query, sort, and page. Each result in items carries the listing id, title, numeric price in JOD, city, neighbourhood, property_type, key highlights (bedrooms, bathrooms, area), a cover_image URL, seller name, and post date. The response also includes total_count, pages, has_more, and per_page (30) for pagination management.
The OpenSooq API is a managed, monitored endpoint for jo.opensooq.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jo.opensooq.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official jo.opensooq.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Jordan property-search app filtered by city and neighbourhood using
search_properties_for_salewith price range inputs - Aggregate vehicle listings from the Motors category via
get_listings_by_categorywith slugcarsfor an automotive price tracker - Display full listing detail pages — including image galleries and seller name — by chaining
search_listingsresults intoget_listing_detail - Power a home-finding app with bedroom count, area, and JOD price pulled from
get_listing_detailfor property listings - Index all OpenSooq Jordan categories and their slugs with
get_categoriesto build a browsable classified directory - Monitor listing counts per property type in Jordan using
list_property_sale_filtersto surface market volume by segment
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does OpenSooq have an official public developer API?+
What does `list_property_sale_filters` return and how does it relate to `search_properties_for_sale`?+
list_property_sale_filters returns three collections: property_types (each with name, slug, and listing_count), cities (each with name and slug), and neighbourhoods (populated only when you pass a city slug). The slug values from each collection map directly to the property_type, city, and neighbourhood parameters accepted by search_properties_for_sale, so you call the filters endpoint first to discover valid input values.Are rental property listings covered by `search_properties_for_sale`?+
search_properties_for_sale and list_property_sale_filters cover only properties listed for sale on OpenSooq Jordan. Rental listings exist on the site but are not currently exposed by a dedicated endpoint. You can fork this API on Parse and revise it to add a rental-specific search endpoint.What are the pagination constraints when using `get_listings_by_category` or `search_listings`?+
page integer parameter and return arrays of id/url pairs. They do not return a total_count or pages field — those are only available in search_properties_for_sale. To determine whether more pages exist for category or search results, you must request the next page and check whether the returned items array is empty.Does `get_listing_detail` return seller contact information such as phone numbers?+
seller (the seller's display name) but does not expose phone numbers or direct contact details. OpenSooq gates contact info behind user authentication on the site, so that data is not available through this API. You can fork it on Parse and revise to add an endpoint if that surface becomes accessible.