Facebook Marketplace Scraper avatar

Facebook Marketplace Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Marketplace Scraper

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

API Empire

Maintained by Community

Actor stats

3

Bookmarked

35

Total users

1

Monthly active users

3 days ago

Last modified

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 search keyword + 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, plus latitude/longitude/radiusKm โ€” applied through Facebook's own browse-request filters.
  • Derived analytics (no AI) โ€” numeric priceAmount + ISO currency, discountPercent (strikethrough vs current), daysListed, distanceKm (haversine from the search center), and run-level pricePercentile / priceBucket.
  • Unified output โ€” one camelCase shape for every mode with a scrapeMode field; deep-only fields are null (never missing) in search mode.
  • Data quality โ€” cross-URL dedup by listing id (no double rows / double charges), detailFetched boolean so PDP failures are visible, and scrapedAt on 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

FieldTypeDescription
startUrlsarrayMarketplace search URLs and/or direct listing URLs.
searchstringKeyword; combined with location to build a search URL internally.
locationstringMarketplace city id or slug used with search.
deepScrapebooleanFetch listing detail pages. Default true.
countintegerMax listings per run; 0 = unlimited. Default 50.
minPrice / maxPriceintegerPrice bounds (whole currency units).
daysSinceListedintegerOnly listings posted within N days.
conditionenumany / new / used / used_like_new / used_good / used_fair.
deliveryMethodenumall / shipping / local.
categoryIdstringRestrict to a Marketplace category id.
latitude / longitude / radiusKmstring / string / integerOverride the search center and radius.
aiEnhancementbooleanEnable AI enrichment (deep mode only). Default false.
aiModelenumLLM model; provider auto-detected from the name.
aiApiKeysecretAPI key for the chosen provider.
proxyConfigurationobjectOptional. 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)

  1. Open the actor in Apify Console.
  2. Add search URLs (or a search keyword + location), set filters and deepScrape.
  3. Click Start and watch the Log.
  4. 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).