Facebook Marketplace Scraper - Listings, Prices & Sellers avatar

Facebook Marketplace Scraper - Listings, Prices & Sellers

Pricing

from $0.50 / 1,000 listing scrapeds

Go to Apify Store
Facebook Marketplace Scraper - Listings, Prices & Sellers

Facebook Marketplace Scraper - Listings, Prices & Sellers

Scrape Facebook Marketplace listings by keyword and city, category or pasted URL: title, price, photos, location, seller, listing date and status. Optional details: description, coordinates, all photos, seller rating, vehicle specs. Only-new monitoring. No login.

Pricing

from $0.50 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Eimantas V

Eimantas V

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

5 days ago

Last modified

Categories

Features

Limited permissions

Share

Facebook Marketplace Scraper extracts listings from Facebook Marketplace: title, price, currency, photo, city, exact listing date, status, seller and delivery options, plus optional details (full description, coordinates, all photos, condition, seller rating, vehicle specs). Search by keyword in any city or postal code, browse categories, or paste Marketplace URLs and listing links. Run it on a schedule to get only new listings and price drops. No login, no cookies, no browser, from $0.50 per 1,000 listings.

title price location listed
Mongoose 20-inch Kids' Bike w/ Training... $45 Flushing, NY 2026-11-02 16:53
Guardian Ethos Kids Bike $125 Elmont, NY 2026-11-02 13:01
Electric bike $500 Bronx, NY 2026-11-02 00:55
60cm Project Bike $100 Brooklyn, NY 2026-11-02 14:12

Benchmark: 100 bike listings in New York in 9 seconds (7 requests); 40 sofas in Chicago with full details in 26 seconds.

What does Facebook Marketplace Scraper do?

It searches Facebook Marketplace the way a logged-out visitor does and returns every listing as a clean row you can export to Excel, CSV or JSON, or send to Google Sheets, Make, Zapier or an AI agent. Give it search terms and locations, pick categories, or paste the URL of any Marketplace search you set up in your browser, filters included.

  • Search any city in the world. Type "New York, NY", "London", "Vilnius, Lithuania", a postal code or coordinates; prices come in the local currency, with the currency code.
  • Every Facebook filter. Sort order, price range, condition, date listed, available or sold, local pickup or shipping, exact match, and vehicles by year and mileage (from a pasted URL).
  • Optional listing details. Full description, exact coordinates, condition and attributes, all photos, seller rating and join date, shipping, and vehicle specs: make, model, trim, year, mileage, transmission, fuel, colours, title status.
  • Only new listings. Scheduled runs deliver only listings posted since the last run, plus listings whose price or status changed (with the previous price), so price drops and new deals reach you without duplicates.
  • Only pay for results. Searches that fail, duplicates found by two searches, filtered-out and unchanged listings are never charged.
  • Built for automation. Run it on a schedule, call it from the API, or connect it to Make, Zapier, n8n, Google Sheets or an AI agent through Apify's MCP server.

Why it is fast and cheap

It calls the same data endpoints Facebook's own Marketplace page uses, without a browser: one request returns 24 listings with their prices, dates and sellers. Location names are resolved through Facebook's own place search, and listing details are read only when you ask for them. That is why a 100-listing search finishes in seconds and costs a fraction of browser-based scrapers.

What data can you extract from Facebook Marketplace?

FieldExampleWhat it is
titleDown sofaThe listing title
price, priceFormatted, currency40, $40, USDAsking price as a number, as shown, and its currency
originalPrice100The struck-through earlier price after a price cut
listedAt, hoursSinceListed2026-10-24T17:18:00Z, 256.8When it was posted, exact to the second
city, state, locationTextChicago, ILWhere the item is
status, isSold, isPendingavailableavailable, pending, sold or hidden
imageUrlhttps://scontent...jpgThe main photo
sellerName, sellerId, sellerProfileUrlJane D.The seller as shown on the listing
deliveryTypes, shippingOffered["IN_PERSON"]Local pickup or shipping
subtitle67K milesFacebook's extra line, e.g. a vehicle's mileage
url, idhttps://www.facebook.com/marketplace/item/1040710359029470/Link and listing id
description *89x40 ... pick up only LakeviewThe seller's full description
latitude, longitude *41.954, -87.654The listing's map pin
condition, attributes *Used – goodCondition and structured attributes
photos, photoCount *5Every photo of the listing
sellerRating, sellerRatingCount, sellerJoinedAt *5, 1, 2007-12-17Seller trust signals
vehicle *{ make: "Honda", model: "Civic", year: 2018, mileage: 67000, ... }Vehicle specs
relatedSearches *["couch sofa", ...]Searches Facebook relates to the listing
changeType, previousPriceprice_changed, 350Only-new mode: what changed since the last run
input, searchQuery, searchLocation, searchCategorysofa · Chicago, ILWhich of your searches found it

* With Listing details on (and always for listing links).

How to scrape Facebook Marketplace

  1. Click Try for free. Enter Search terms (for example bike) and Locations (for example New York, NY), or paste Marketplace URLs.
  2. Set filters if you need them (price, condition, date listed, sold items) and Max listings: you pay per listing, so this is also your cost cap.
  3. Click Start. A 100-listing search takes about 10 seconds; with details about a minute.
  4. Open the Output tab (views: Listings, Details, Vehicles, New and changed), or download JSON, CSV, Excel or HTML.

To monitor Marketplace, turn on Only new listings, sort by Date listed: newest first, save the input as a task and add a schedule (for example every 15 minutes).

How much does it cost to scrape Facebook Marketplace?

You pay per listing returned; details are an optional add-on per listing. Prices drop on higher Apify plans:

Apify planPer 1,000 listingsDetails add-on, per 1,000Listings with details, per 1,000
Free$0.90$3.50$4.40
Starter$0.75$3.00$3.75
Scale$0.65$2.75$3.40
Business$0.50$2.50$3.00
  • 1,000 bike listings across 5 US cities on Starter: $0.75.
  • A monitor checking 3 searches every 15 minutes that finds 300 new listings a day: 9,000 listings a month = $6.75 on Starter; a check that finds nothing new costs only the $0.00005 start.
  • Listing links (facebook.com/marketplace/item/...) always include details, so they cost listing + details.
  • A run also costs $0.00005 to start. A search that fails, or matches nothing, costs nothing more.
  • The Free plan's $5 monthly credit covers about 5,500 listings (or about 1,100 with details).

Input

{
"searchQueries": ["bike", "iphone 13"],
"locations": ["New York, NY", "London, United Kingdom"],
"categories": [],
"urls": ["https://www.facebook.com/marketplace/la/vehicles?minYear=2015&maxMileage=100000"],
"sortBy": "creation_time_descend",
"maxPrice": 500,
"daysSinceListed": "7",
"includeDetails": false,
"onlyNewListings": false,
"maxItems": 200,
"maxItemsPerSearch": 50
}
FieldDefaultNotes
Search termsbike (example)Each term is searched in every location (and category)
LocationsNew York, NY (example)City, "City, State", postal code, or "latitude, longitude"
Categoriesnone16 Marketplace categories; with terms they narrow the search, without terms they are browsed
Marketplace URLs or listing linksnoneSearches, categories, city pages, single listings; a URL's own filters win
Sort bySuggestedNewest first, price low/high, distance
Minimum / maximum pricenoneIn the location's currency; maximum 0 = free items
ConditionanyNew, used - like new / good / fair
Date listedany timeLast 24 hours, 7 days or 30 days
AvailabilityavailableOr sold, for sold-price research
Delivery methodallLocal pickup or shipping only
Listed afternoneA date or "3 days"; older listings are dropped before charging
Title must / must not mentionnoneKeyword filters on the title, applied before charging
Listing detailsoffThe details add-on
Only new listingsoffFor scheduled runs; memory kept in a named key-value store in your account
Max listings / per search100 / 100Your cost caps
ProxyApify residentialKeep it: Facebook refuses Marketplace searches from datacenter addresses. Proxy traffic is included in the price

Output

Each listing is one row in the dataset. Every export includes all fields; the Listings, Details, Vehicles and New and changed views show the key columns. A listing with details:

{
"recordType": "listing",
"input": "sofa · Chicago, IL",
"searchQuery": "sofa",
"searchLocation": "Chicago, Illinois",
"id": "1040710359029470",
"url": "https://www.facebook.com/marketplace/item/1040710359029470/",
"title": "Down sofa",
"price": 40,
"priceFormatted": "$40",
"currency": "USD",
"originalPrice": 100,
"listedAt": "2026-10-24T17:18:00.000Z",
"city": "Chicago",
"state": "IL",
"status": "available",
"sellerName": "Jane D.",
"deliveryTypes": ["IN_PERSON"],
"detailsFetched": true,
"description": "89x40(deep)x27 height. Has some peeling on the corners ... pick up only Lakeview 60613.",
"condition": "Used – good",
"latitude": 41.95404,
"longitude": -87.65441,
"photoCount": 5,
"sellerJoinedAt": "2007-12-17T02:50:24.000Z",
"sellerRating": 5,
"sellerRatingCount": 1,
"relatedSearches": ["couch sofa", "vintage sofa couch", "lounge couch"],
"vehicle": null,
"changeType": null,
"scrapedAt": "2026-11-04T10:07:44.642Z"
}

A search or link that cannot be read becomes a row with "recordType": "error" and an errorCode instead of failing the whole run:

errorCodeMeaning
NOT_FOUNDNo such place, location or listing (sold and removed, deleted, or a wrong link)
NO_LOCATIONA search without a location
BLOCKED / RATE_LIMITEDFacebook refused the requests; run again later
FACEBOOK_ERRORFacebook rejected the request itself (it may have changed Marketplace; please report it)

Error rows are never charged.

Tips and limits

  • Facebook decides the search area. Logged out, Marketplace ignores the radius setting and searches about 60 km around the place you give (the same results a visitor sees). Use several locations to cover a wider region.
  • Sold-price research: set Availability to Sold, then compare price and listedAt.
  • Cheaper runs: details cost four times a listing; turn them on only when you need descriptions, coordinates or vehicle specs, or use Title must mention / must not mention to keep only listings worth details.
  • Seller names are hidden by Facebook in some feeds (vehicle categories); details fill them in.
  • Not available logged out: seller profiles beyond name and id, messages, and property rentals and home sales feeds.
  • Hit your spending limit? The run stops cleanly at your maximum cost per run and keeps everything it collected. Raise the limit in the run options to get more.

FAQ

This Actor collects only data that Facebook shows publicly to visitors who are not logged in. Results contain seller names, which laws such as the GDPR protect. Scrape personal data only for a legitimate purpose, and ask a lawyer if you are unsure. Facebook is a trademark of Meta Platforms, Inc.; this Actor is not affiliated with or endorsed by Meta.

How does "Only new listings" work?

Each search remembers, in a key-value store in your account, which listings it delivered and when it last ran. The next run delivers listings posted since then and listings whose price or status changed (changeType: new, price_changed or status_changed, with previousPrice). Unchanged and older listings are skipped and never charged. Use a different memory name for independent monitors, and "Forget what was delivered before" to start over.

Can I use it through the API or with Make, Zapier and n8n?

Yes. Every run can be started through the Apify API and returns the dataset as JSON, CSV or Excel. Schedules, webhooks and integrations for Make, Zapier, n8n and Google Sheets are on the Integrations tab.

Can AI agents use it?

Yes. Agents connected to Apify's MCP server can find and run this Actor as a tool, with the same per-listing pricing. "Find used road bikes under $300 in Chicago listed this week" maps directly to its search terms, location, price and date fields.

Why did I get fewer listings than I asked for?

Either the search has fewer listings than your limit, a filter or "only new" removed them, the run reached your maximum cost per run, or it reached its timeout. The log says which, and nothing collected before that is lost.

Support

Missing a field, or found a search that does not work? Open an issue on the Issues tab with the input you used, and it will be looked at quickly.