OpenSooq Scraper - MENA Classifieds Data API
Pricing
from $0.49 / 1,000 listings
OpenSooq Scraper - MENA Classifieds Data API
Scrape OpenSooq (السوق المفتوح) classified listings across Jordan, Saudi Arabia, UAE, Kuwait, Egypt, and more. Extract price, location, category, images, seller, and phone reveal key. Filter by keyword, city, price, car year, and property size. Export JSON, CSV, Excel.
Pricing
from $0.49 / 1,000 listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
OpenSooq Scraper
Extract classified listings from OpenSooq (السوق المفتوح), the largest online marketplace in the Middle East and North Africa. The OpenSooq Scraper turns any OpenSooq search — cars, apartments, phones, jobs, or anything else — into a clean, structured dataset across Jordan, Saudi Arabia, the UAE, Kuwait, Egypt, and 10 more country sites.
| Scrape OpenSooq by keyword, city, price, car year, or property size across 15 MENA country sites — get price, location, category, images, seller, and the phone-reveal key for every listing, ready for analysis or lead generation. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Actor: parsebird/opensooq-scraper (Apify). Scrapes classified listings from opensooq.com (السوق المفتوح), the MENA marketplace.Call with ApifyClient:client.actor("parsebird/opensooq-scraper").call(run_input={"site": "jo", # jo, sa, ae, kw, eg, om, qa, bh, iq, ly, ye, ps, sd, sy, lb"query": "toyota", # free-text keyword (optional)"startUrls": [{"url": "https://jo.opensooq.com/en/cars/cars-for-sale/toyota?price_from=5000"}], # optional, full filter fidelity"vertical": "cars_for_sale", # general | cars_for_sale | apartments_for_sale | apartments_for_rent"category": "", # OpenSooq category id (or "catId:subId") for general search"city": "59", # numeric OpenSooq city id (Amman 59, Riyadh 24)"neighborhood": "", # numeric neighborhood id (needs city)"priceFrom": 5000, "priceTo": 0,"vehicleYearFrom": 0, "vehicleYearTo": 0, "vehicleMileageBand": "","propertyBedrooms": "", "propertyBathrooms": "", "surfaceFrom": 0, "surfaceTo": 0,"sortBy": "price-asc", # "" | recent | price-asc | price-desc"hasImages": false, "hasPrice": false, "isShop": false,"maxItems": 50,"proxyConfiguration": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}})Output per listing: id, url, title, descriptionPreview, subtitle, price, currency, city, neighborhood, category,categoryPath, imageUrl, imageCount, hasVideo, specs[], mileageKm, postedAt, insertedDate, listingStatus,memberId, memberDisplayName, memberRatingAvg, isShop, shopName, phoneNumber (masked), phoneRevealKey, scrapedAt.API docs: https://apify.com/parsebird/opensooq-scraper/api | Token: https://console.apify.com/account/integrations
What is the OpenSooq Scraper?
The OpenSooq Scraper is a data-extraction tool for OpenSooq.com, the classifieds platform used across the Arab world for cars, real estate, electronics, jobs, and services. OpenSooq has no public data API, so this actor acts as an OpenSooq API alternative: pass a country, a keyword, and a few filters — or paste a search URL straight from the site — and it returns every matching listing as JSON, CSV, or Excel.
It reads the same structured data the OpenSooq website itself renders, so results are complete and consistent: price, currency, city, neighborhood, category, image, listing specs, seller identity, and the phoneRevealKey used to request a seller's full phone number.
What can the OpenSooq Scraper do?
- 🌍 Scrape 15 OpenSooq country sites — Jordan, Saudi Arabia, UAE, Kuwait, Egypt, Oman, Qatar, Bahrain, Iraq, Libya, Yemen, Palestine, Sudan, Syria, Lebanon.
- 🔎 Search by free-text keyword, guided vertical (cars for sale, apartments for sale, apartments for rent), or category ID for general search.
- 📍 Filter by city and neighborhood ID, price range, car model year and mileage, apartment bedrooms and surface area.
- 🔗 Paste exact OpenSooq search URLs as start URLs to preserve every filter the site supports.
- 🏪 Restrict to business shop listings, listings with images, or listings with a disclosed price.
- 📞 Get seller info and the phone reveal key for every listing.
- ⏱️ Run on a schedule, call it by API, and connect it to Make, Zapier, Google Sheets, or Slack.
- 📤 Export to JSON, CSV, Excel, HTML, or XML.
What data can you extract from OpenSooq?
| Field | Description |
|---|---|
id | OpenSooq listing ID |
url | Canonical listing URL |
title | Listing title (Arabic or English, as posted) |
descriptionPreview | Short preview of the listing description |
subtitle | Auto-generated summary line (e.g. 2019 Toyota Corolla Hybrid) |
price / currency | Price value as a string and ISO currency (JOD, SAR, AED, KWD, EGP, …) |
city / neighborhood | Location names |
category / categoryPath | Category label and URL path |
imageUrl / imageCount | Cover photo URL and number of photos |
specs | List of listing attributes (make, model, year, km, bedrooms, area, …) |
mileageKm | Odometer reading for vehicles |
postedAt / insertedDate | Relative and absolute posting date |
listingStatus | featured_turbo, reposted, default, … |
memberId / memberDisplayName | Seller identity |
memberRatingAvg / memberRatingCount | Seller rating |
isShop / shopName | Whether the seller is a registered business shop |
phoneNumber | Masked phone number (last 2 digits hidden by OpenSooq) |
phoneRevealKey | Key used to request the full number on the platform |
scrapedAt | ISO timestamp of extraction |
How to scrape OpenSooq
- Open the OpenSooq Scraper and go to the Input tab.
- Choose a Country site (for example
jofor Jordan orsafor Saudi Arabia). - Either:
- enter a Search query and pick a Vertical, or
- paste one or more OpenSooq search URLs into Start URLs (recommended when you need advanced filters — build the search on the site, copy the URL).
- Add optional filters — city ID, price range, car year, bedrooms, surface area, sort order.
- Set Maximum number of items (this is the number of billed rows).
- Keep proxy on Residential for clean regional access.
- Click Start, then download the results as JSON, CSV, or Excel from the Output tab.
Finding city and neighborhood IDs
Run a search on the OpenSooq website and filter by a city. The city ID appears in the resulting URL (...?search=true&city_ids=59). Neighborhood IDs appear the same way as nhood_ids.
How much does it cost to scrape OpenSooq?
This actor uses pay-per-event pricing. You are charged once per listing saved to the dataset:
| Plan | Price per 1,000 listings |
|---|---|
| Free | $0.79 |
| Bronze | $0.69 |
| Silver | $0.59 |
| Gold | $0.49 |
Scraping 1,000 listings on the Free plan costs about $0.79 plus a small amount of platform compute. Apify's free monthly usage credits cover tens of thousands of listings per month.
Input
{"site": "jo","query": "toyota","vertical": "cars_for_sale","city": "59","priceFrom": 5000,"sortBy": "price-asc","maxItems": 50,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output example
Download results in JSON, CSV, Excel, HTML, or XML.
{"id": "276150375","url": "https://jo.opensooq.com/en/search/276150375","title": "190 m2 3 Bedrooms Apartments for Sale in Zarqa Dahiet Al Madena Al Monawwara","descriptionPreview": "شقة طابقية مميزة تشطيبات فندقية عالية الجودة مكونة من 3 غرف نوم...","subtitle": "190 m2 3 Bedrooms","price": "66,000","currency": "JOD","city": "Zarqa","neighborhood": "Dahiet Al Madena Al Monawwara","category": "Apartments for Sale","categoryPath": "property/apartments-for-sale","imageUrl": "https://opensooq-images.os-cdn.com/previews/700x0/a9/ab/a9abf520684bb5399eb5f27fc4620d01dc354b6e19860aa901257c8343f65565.jpg","imageCount": 12,"specs": ["3 Bedrooms", "2 Bathrooms", "Area: 190 m2", "Second Floor"],"postedAt": "2 hours ago","insertedDate": "2026-06-15","listingStatus": "featured_turbo","memberId": "1234567","memberDisplayName": "mohamad abo khadra","isShop": false,"shopName": null,"phoneNumber": "07996786XX","phoneRevealKey": "0cd4416532a0ce20860ce546ba8dc236","scrapedAt": "2026-06-15T12:38:09.000Z"}
Use cases
- 🚗 Car price research — track asking prices for a make, model, and year across a country.
- 🏠 Real-estate analysis — build datasets of rents and sale prices by city and neighborhood.
- 📇 Lead generation — collect seller and shop listings, then request phone numbers on the platform.
- 📊 Market intelligence — monitor listing volume, category mix, and price trends across MENA markets.
- 🔁 Inventory monitoring — schedule daily runs on a saved search and watch what changes.
How it works
- The actor builds an OpenSooq search URL for the chosen country site from your keyword, vertical, category, and filters — or uses your start URLs directly.
- It requests each search-results page and reads the structured listing data OpenSooq embeds in the page.
- It paginates until it reaches
maxItemsor the last page of results. - It applies the
hasPrice,hasImages, andisShopfilters, de-duplicates by listing ID, and pushes rows to the dataset. - You are charged one event per listing saved.
Pricing
| Event | Price per event | Price per 1,000 |
|---|---|---|
listing-scraped | $0.00079 | $0.79 (Free tier) |
One event is charged for every listing written to the dataset. Bronze/Silver/Gold plans pay $0.69 / $0.59 / $0.49 per 1,000.
FAQ
Which OpenSooq countries are supported?
All 15 OpenSooq country sites: Jordan, Saudi Arabia, UAE, Kuwait, Egypt, Oman, Qatar, Bahrain, Iraq, Libya, Yemen, Palestine, Sudan, Syria, and Lebanon. Pick one per run with the site input.
Can I get the seller's full phone number?
The actor returns the masked number (phoneNumber) and the phoneRevealKey. OpenSooq requires an on-platform request to reveal the last digits, so the full number is not extracted automatically.
How do I filter by an exact search I built on the site? Copy the URL from your browser after applying filters on OpenSooq and paste it into Start URLs. Start URLs preserve every filter, including ones not exposed as inputs (make, model, condition, fuel type, furnished, floor, and more).
Why is price sometimes null?
Some sellers post without a price. Enable Only listings with a price (hasPrice) to skip them.
Titles are in Arabic — can I get English? Listings are returned exactly as the seller posted them, which on OpenSooq is usually Arabic. City, neighborhood, and category names are returned in English.
Can I schedule recurring runs? Yes. Use Apify scheduling to run the scraper on any interval, and connect the output to integrations like Google Sheets, Make, or Slack.
Something looks wrong or missing. Open the Issues tab on the actor page with an example input and we will take a look.
API usage examples
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/opensooq-scraper").call(run_input={"site": "sa","query": "toyota","vertical": "cars_for_sale","city": "24","maxItems": 100,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"]},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["currency"], item["url"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/opensooq-scraper').call({site: 'ae',query: 'iphone 15',vertical: 'general',maxItems: 100,proxyConfiguration: { useApifyProxy: true, apifyProxyGroups: ['RESIDENTIAL'] },});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((it) => console.log(it.title, it.price, it.currency, it.url));
Related actors
- Dubizzle Scraper — UAE classifieds and property.
- Ebay Kleinanzeigen Scraper — Germany's largest classifieds site.
- Milanuncios Scraper — Spain's largest classifieds site.
- Subito.it Scraper — Italy's largest classifieds site.
Legal and compliance
This actor extracts only publicly accessible listing data from opensooq.com and does not bypass any login or access control. Results may include personal data of sellers; if you store or process it, you must comply with applicable data-protection law (including the GDPR where relevant) and OpenSooq's Terms of Service. You use this actor at your own responsibility. It is not affiliated with, endorsed by, or connected to OpenSooq.