Aqar Saudi Properties and Details Scraper
Pricing
from $3.99 / 1,000 results
Aqar Saudi Properties and Details Scraper
Aqar Saudi Properties and Details Scraper — Extracts source-backed listing fields only after written authorization and an explicit HTTPS Aqar URL are provided.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Real Estate API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
This Actor extracts source-backed Saudi property fields from sa.aqar.fm. It reads server-rendered RealEstateListing JSON-LD on an official listing or category page, then can fetch listing pages for detail JSON-LD. Aqar's platform terms require permission for collecting/reusing platform or user data; the Actor makes no source requests unless authorizationConfirmed is explicitly set to true after applicable written permission is confirmed.
Input
startUrl: an explicit HTTPS Aqar listing or category URL. There is no default source URL.maxItems: maximum unique properties, default5.includeDetails: fetch each public property page for richer source-backed fields, defaulttrue.timeoutSecs: direct request timeout, default30.authorizationConfirmed: set totrueonly when written permission covers automated collection and reuse of Aqar listing content. Defaults tofalse; otherwise the Actor completes asSUCCEEDEDwithcollectionStatus: SKIPPED_POLICY, makes zero source requests, and emits no dataset rows. Redirects are refused and responses must remain onhttps://sa.aqar.fm.
Output
The dataset contains only source-backed property records. Source and dataset failures never become diagnostic or placeholder rows. OUTPUT_SUMMARY.status is the operational status (SUCCEEDED or FAILED); runStatus and collectionStatus use COMPLETED, PARTIAL, FAILED, or SKIPPED_POLICY. Clean bounded or empty runs are SUCCEEDED / COMPLETED. A later failure after saving real property rows is SUCCEEDED / PARTIAL; a failure with no saved rows is FAILED / FAILED and exits nonzero. Missing written permission produces SUCCEEDED / SKIPPED_POLICY, zero requests, and a KVS-only diagnostic. Failure details stay in the aggregate KVS summary.
Only direct public HTTP requests to sa.aqar.fm are used. The actor does not call private APIs, log in, bypass access controls, or infer fields that are absent from the official JSON-LD.
Local development
npm installapify validate-schemanpm run lintapify run --input '{"maxItems":3,"authorizationConfirmed":false}'npm test
Requests are sequential so each listing page can be checked against its source-backed detail record. Execution uses local Apify storage only.
Dependency security
The locked dependency graph overrides basic-ftp with the patched 6.2.1 release. The SDK’s unpatched HTTP cache policy is replaced with the readable local vendor/noncaching-http-policy adapter, which refuses cache reads and writes and forces fresh network responses. This is an explicit removal of caching, not a claimed upstream security patch. Source transports, permission gates and request limits are unchanged. npm run test:dependencies checks cross-user cache isolation, imported stale policy rejection, FTP integration methods and adversarial listing parsing. Cloud builds run npm audit --omit=dev --audit-level=low against the installed production graph.