Facebook Marketplace Scraper
Pricing
$19.99/month + usage
Facebook Marketplace Scraper
Facebook Marketplace Scraper extracts listings from Facebook Marketplace. Capture titles, prices, photos, descriptions, locations, sellers, and timestamps. Ideal for product research, price tracking, local market insights, and workflows needing structured Marketplace data.
Pricing
$19.99/month + usage
Rating
5.0
(1)
Developer
API Empire
Maintained by CommunityActor stats
3
Bookmarked
35
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
๐ Facebook Marketplace Listings Scraper
Scrape Facebook Marketplace search results and full listing details (PDP) into clean, structured JSON/CSV. Supports bulk search URLs, keyword + location discovery, direct listing URLs, server-side filters (price, condition, delivery, recency, category), derived analytics, and optional AI enrichment.
Keywords: facebook marketplace scraper, marketplace listings, marketplace api, second-hand deals, price scraper, reseller tool, lead generation, product data, marketplace search, ecommerce scraping, deal finder, classifieds scraper.
Features
- Three discovery modes โ paste search URLs, give a
searchkeyword +location, or paste direct listing URLs (โฆ/marketplace/item/<id>/) for detail-only scraping. - Deep scrape โ fetch each listing's detail page for description, seller name/id, condition, category breadcrumb, and all photos.
- Server-side filters โ
minPrice,maxPrice,daysSinceListed,condition,deliveryMethod,categoryId, pluslatitude/longitude/radiusKmโ applied through Facebook's own browse-request filters. - Derived analytics (no AI) โ numeric
priceAmount+ ISOcurrency,discountPercent(strikethrough vs current),daysListed,distanceKm(haversine from the search center), and run-levelpricePercentile/priceBucket. - Unified output โ one camelCase shape for every mode with a
scrapeModefield; deep-only fields arenull(never missing) in search mode. - Data quality โ cross-URL dedup by listing id (no double rows / double charges),
detailFetchedboolean so PDP failures are visible, andscrapedAton every row. - Optional AI enrichment โ off by default, deep mode only; brand/model/size extraction, scam-risk signal, quality score, and deal score across multiple LLM providers.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Marketplace search URLs and/or direct listing URLs. |
search | string | Keyword; combined with location to build a search URL internally. |
location | string | Marketplace city id or slug used with search. |
deepScrape | boolean | Fetch listing detail pages. Default true. |
count | integer | Max listings per run; 0 = unlimited. Default 50. |
minPrice / maxPrice | integer | Price bounds (whole currency units). |
daysSinceListed | integer | Only listings posted within N days. |
condition | enum | any / new / used / used_like_new / used_good / used_fair. |
deliveryMethod | enum | all / shipping / local. |
categoryId | string | Restrict to a Marketplace category id. |
latitude / longitude / radiusKm | string / string / integer | Override the search center and radius. |
aiEnhancement | boolean | Enable AI enrichment (deep mode only). Default false. |
aiModel | enum | LLM model; provider auto-detected from the name. |
aiApiKey | secret | API key for the chosen provider. |
proxyConfiguration | object | Optional. Residential is the built-in default; a supplied config is honored. |
Example input
{"startUrls": ["https://www.facebook.com/marketplace/108479165840750/search/?query=iphone"],"deepScrape": true,"count": 20,"minPrice": 100,"maxPrice": 500,"condition": "used_good","deliveryMethod": "local"}
Output
One row per listing, unified camelCase shape (deep-only fields are null in search mode):
{"scrapeMode": "deep","id": "1234567890","title": "iPhone 13 128GB","searchQuery": "iphone","listingUrl": "https://www.facebook.com/marketplace/item/1234567890/","priceFormatted": "$450","priceAmount": 450,"currency": "USD","strikethroughAmount": 550,"discountPercent": 18,"priceBucket": "250_500","pricePercentile": 62,"condition": "Used - good","sellerName": "Jane D.","sellerId": "100000000000000","city": "New York","state": "NY","latitude": 40.71,"longitude": -74.0,"distanceKm": 3.2,"daysListed": 4,"listedAt": "2026-06-28T12:00:00.000Z","categoryId": "807311116002614","categoryBreadcrumb": "Electronics > Cell Phones","description": "Great condition, includes charger...","primaryImageUrl": "https://...","imageAltText": "May be an image of phone","detailFetched": true,"scrapedAt": "2026-07-02T10:00:00.000Z"}
With aiEnhancement enabled (deep mode), rows also carry aiBrand, aiModel, aiSize, aiScamRisk, aiQualityScore, aiDealScore, aiSummary.
How to run (Apify Console)
- Open the actor in Apify Console.
- Add search URLs (or a
searchkeyword +location), set filters anddeepScrape. - Click Start and watch the Log.
- Open the Output tab to view or export the dataset (JSON/CSV/Excel).
Notes & compliance
- Data is collected only from publicly available Marketplace pages.
- Facebook heavily blocks datacenter IPs; the actor forces residential proxy for reliability.
- You are responsible for compliance with applicable laws (privacy, data protection, terms of use).