Facebook Marketplace Scraper — Bulk CSV API avatar

Facebook Marketplace Scraper — Bulk CSV API

Pricing

from $3.50 / 1,000 listings

Go to Apify Store
Facebook Marketplace Scraper — Bulk CSV API

Facebook Marketplace Scraper — Bulk CSV API

Collect accessible Marketplace listings with source-returned prices, sellers and public contact signals. Bulk export: JSON, CSV, Excel and API. PPE: from $2.5/1K listings. Optional webhook delivery.

Pricing

from $3.50 / 1,000 listings

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

1

Bookmarked

35

Total users

4

Monthly active users

4 days ago

Last modified

Share

Facebook Marketplace Scraper — Listings, Prices & Public Contacts

Collect publicly visible Marketplace listings by keyword, category or URL through HTTP requests. Export one listing per dataset row, with observed title, price, photos, location, seller fields and contacts when Facebook exposes them.

Facebook can restrict logged-out access or return nearby/recommended results. No external scraping API key or Facebook login is required, but residential proxy access is recommended and costs resources. Complete geographic coverage, seller contacts and complete listing details are not guaranteed.

Small first run

{"mode":"search","searchTerms":["mountain bike"],"location":"nyc","maxItems":5,"expandCoverage":false,"enrichDetails":false,"maxRetries":1}

Use mode: category with categories: ["vehicles"], or mode: urls with listingUrls containing real Facebook Marketplace item/search/category URLs. Numeric item IDs are accepted. Inputs in multiple lists are combined for compatibility. Invalid URLs or reversed price limits fail with diagnostics. The default result cap is 25.

Results and limitations

Dataset rows contain listings only. SUMMARY and ERRORS are key-value-store records; optional PROBES contains token-free counts. A source failure with no readable listings returns FAILED. Partial results remain available with PARTIAL diagnostics. NO_MATCHES is a readable empty feed or filtered output; NO_NEW_LISTINGS is a monitoring run without unseen records.

status: unknown means availability was not exposed. source: og_meta and metadataOnly: true identify limited public metadata, which can lack seller/details/current status. Direct item parsing matches the requested ID, rather than returning a recommendation. Missing fields are null or absent; they are never filled with examples.

Contacts come only from listing title/description. They are not guaranteed seller identities or verified mailboxes. enrichDetails attempts each listing page; detailEnrichmentStatus records incomplete access. Prices, coordinates and seller information are only exposed when sourced. Numeric min/max price filters are also enforced locally; rows without a comparable price are excluded when a price filter is supplied. Freshness/sort parameters are requests to Facebook, not independently verified guarantees.

expandCoverage requests additional sort variants and deduplicates initial feeds. It is not cursor pagination. It cannot guarantee any multiplier or complete market depth. coverageComplete is false. Split searches into narrower locations/categories for additional coverage. Each job gets a proxy session; retries within that job reuse the session with desktop/mobile variants.

Persistent new-listing monitoring

Set onlyNew: true and optionally stateStoreName. The default named store is marketplace-monitor, owned by the account executing the Actor. IDs are scoped to the query URLs and price filters. Repeat identical parameters to reuse a baseline; changing the search starts a separate scope. Only IDs successfully delivered to the dataset are saved, so source errors, spending limits and unseen over-limit records do not consume the baseline. Keep result caps and sort expansion consistent across runs. State is not a price-change tracker.

notifyWebhookUrl sends delivered listings to your endpoint and reports delivery failures. Use an endpoint you control. Webhook delivery is an additional attempt, not a guarantee of exactly-once delivery.

Pricing and budgets

Current result prices per 1,000 listings: Free $5, Bronze $4.50, Silver $4, Gold $3.50, Platinum $3, Diamond $2.50. No start event. On 18 October 2026, a scheduled pricing record enables separate user-paid platform usage; its API rates are Platinum/Diamond $3.50. Confirm the effective Pricing tab before a large run.

SDK pay-per-event handling binds result charges to delivered listing rows and stops writes at maxTotalChargeUsd. Set a spending cap alongside maxItems. Diagnostic records are not charged result events. Failed HTTP/proxy requests can still consume resources; event charges and resource consumption are separate quantities.

MCP for Claude, Codex and other agents

Endpoint: https://mcp.apify.com?tools=apivault_labs/facebook-marketplace-scraper. Tool: apivault_labs--facebook-marketplace-scraper. Authenticate to Apify; no external scraping service token is needed. Call with a small input, poll get-actor-run until completion, then read get-dataset-items and get-key-value-store-record for SUMMARY/ERRORS. A run ID alone is not a successful result.

Codex configuration:

[mcp_servers.marketplace]
url = "https://mcp.apify.com?tools=apivault_labs/facebook-marketplace-scraper"
bearer_token_env_var = "APIFY_TOKEN"

Claude Code .mcp.json:

{"mcpServers":{"marketplace":{"type":"http","url":"https://mcp.apify.com?tools=apivault_labs/facebook-marketplace-scraper","headers":{"Authorization":"Bearer ${APIFY_TOKEN}"}}}}

Keep tokens outside committed files. Registering this tool makes it available; automatic agent selection depends on client configuration and the user's request. Tell agents to inspect PARTIAL errors and missing fields before presenting price/contact conclusions.

REST and exports

POST input to https://api.apify.com/v2/acts/apivault_labs~facebook-marketplace-scraper/runs with your Apify bearer token. Poll the run, retrieve its dataset and diagnostic store, and export JSON/CSV/Excel through Apify. Use real listing URLs; placeholder IDs are not working examples.