MENA Classifieds Scraper — Hatla2ee & OpenSooq avatar

MENA Classifieds Scraper — Hatla2ee & OpenSooq

Pricing

Pay per usage

Go to Apify Store
MENA Classifieds Scraper — Hatla2ee & OpenSooq

MENA Classifieds Scraper — Hatla2ee & OpenSooq

Scrape Hatla2ee and OpenSooq classified listings into a structured dataset: titles, prices with currency, city, post age and listing URLs. Covers Egyptian used cars and MENA classifieds ads across both marketplaces.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ahmed Hazem

Ahmed Hazem

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

What does MENA Classifieds Scraper do?

Scrapes classified listings from Hatla2ee (Egypt's largest car marketplace) and OpenSooq (the largest general classifieds network in MENA). It walks listing and pagination pages, follows each car detail page on Hatla2ee, and returns a structured Apify dataset — title, price, currency, city, post age, listing URL — exportable as JSON, CSV, Excel or XML, with API access, scheduling and monitoring on the Apify platform.

Why use it?

  • Little competing coverage for Egyptian and Levant classifieds on data platforms.
  • Use cases: lead generation for dealers and brokers, price monitoring, market research, Arabic-language AI training data.
  • Runs over plain HTTP (fast and cheap); no login or cookies needed for public listings.

How to use

  1. Add the Actor to your Apify account.
  2. On the Input tab, keep or edit the Start URLs (prefilled with Hatla2ee cars + OpenSooq cars).
  3. Set Max items per source and Max pages (whole run) to control run cost.
  4. Click Start, then download the dataset from the Output tab (or pull it from the API).

Input

FieldTypeDefaultDescription
start_urlsarrayHatla2ee /ar/car + OpenSooq /en/carsListing/category URLs on hatla2ee.com or opensooq.com. Both {"url": …} objects and plain URL strings work.
max_itemsinteger50Upper limit on listings pushed per source (0 = unlimited). A run with both sources can return up to twice this.
max_requests_per_crawlinteger20Hard cap on pages fetched by the whole run — listing, pagination and detail pages combined. This is the cost lever.
proxyConfigurationobjectApify Proxy offOptional. Supply Apify Proxy or your own proxy URLs if a source starts blocking runs.

Output

Example dataset item (OpenSooq):

{
"source": "opensooq",
"sourceUrl": "https://eg.opensooq.com/en/cars",
"listingUrl": "https://eg.opensooq.com/en/cars/287687414",
"listingId": "287687414",
"title": "كيا برايد 99 اوتوماتيك",
"priceText": "190,000 EGP",
"priceAmount": "190000",
"priceCurrency": "EGP",
"city": "Cairo",
"postedAt": "1 hour ago"
}

Example dataset item (Hatla2ee — no city or postedAt on this source):

{
"source": "hatla2ee",
"sourceUrl": "https://www.hatla2ee.com/ar/car/citroen/C5/7291889",
"listingUrl": "https://www.hatla2ee.com/ar/car/citroen/C5/7291889",
"listingId": "7291889",
"title": "سيتروين C5 2020 للبيع مدينة نصر",
"priceText": "1120000 EGP",
"priceAmount": "1120000",
"priceCurrency": "EGP",
"city": null,
"postedAt": null
}

You can download the dataset as JSON, CSV, Excel or XML.

Data table

FieldTypeDescription
sourcestringhatla2ee or opensooq
sourceUrlstringpage the item came from
listingUrlstringcanonical listing URL (both sources)
listingIdstringsite-native listing id
titlestringlisting title, Arabic or English, as published (site boilerplate trimmed)
priceTextstringprice as displayed by the source — 190,000 EGP (OpenSooq) or 1120000 EGP (Hatla2ee)
priceAmountstringprice digits only, e.g. 1120000 (cast to int/float downstream)
priceCurrencystringcurrency code, e.g. EGP
citystringseller city (OpenSooq; null on Hatla2ee)
postedAtstringrelative post age as shown (OpenSooq), e.g. 2 hours ago

Keys are always present on every row, so CSV/Excel exports keep a stable column set; fields a source does not expose come back null rather than being invented.

Pricing / cost estimation

How much does it cost to scrape Hatla2ee and OpenSooq listings?

Free to run at launch. You pay only the Apify platform usage your run generates — there is no charge for the data itself. Pay-per-event pricing (a small fee per extracted listing) is planned once the Actor has a track record of runs and reviews.

Cost is bounded by max_requests_per_crawl: a 20-page run stays within the free Apify plan's monthly credits, so a full test costs nothing. Pages that fail permanently are counted against that budget as well, so a blocked or unreachable target cannot quietly burn credits. For reference, one Hatla2ee detail page yields 1 listing, and a listing page yielded 29 detail links in testing.

Tips

  • Deeper coverage: max_requests_per_crawl is shared by every page type, and detail pages are fetched first (1 page ≈ 1 listing), so raise it together with max_items to walk more listing pages. Hatla2ee pagination (/ar/car/page/2, …) and OpenSooq pagination (?page=2) are followed automatically.
  • The actor obeys robots.txt on both sources (their wildcard rules allow the paths this Actor scrapes) and fetches at a browser-like rate (~120 pages/minute, concurrency 3) to stay polite.
  • Blocked? Add proxyConfiguration — residential proxies may be needed if a source tightens anti-bot rules.
  • Use Apify schedules for daily price-watch runs.

FAQ & disclaimers

  • Personal data: listing titles and bodies come from public pages; phone numbers, seller names and contact details are deliberately not extracted.
  • Content is provided as-is, no warranty of accuracy or completeness — marketplaces re-render their pages and fields may move.
  • Scraping public listings is legal in most jurisdictions, but comply with the target sites' terms of service. You are responsible for how you use the data.
  • This Actor is batch-only (no standby mode): it starts, collects, and exits.
  • Issues or feature requests: use the Actor's Issues tab, or open an issue on the repository.