Facebook Marketplace Scraper - Listings, Prices & Sellers
Pricing
from $0.50 / 1,000 listing scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Features
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 listedMongoose 20-inch Kids' Bike w/ Training... $45 Flushing, NY 2026-11-02 16:53Guardian Ethos Kids Bike $125 Elmont, NY 2026-11-02 13:01Electric bike $500 Bronx, NY 2026-11-02 00:5560cm 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?
| Field | Example | What it is |
|---|---|---|
title | Down sofa | The listing title |
price, priceFormatted, currency | 40, $40, USD | Asking price as a number, as shown, and its currency |
originalPrice | 100 | The struck-through earlier price after a price cut |
listedAt, hoursSinceListed | 2026-10-24T17:18:00Z, 256.8 | When it was posted, exact to the second |
city, state, locationText | Chicago, IL | Where the item is |
status, isSold, isPending | available | available, pending, sold or hidden |
imageUrl | https://scontent...jpg | The main photo |
sellerName, sellerId, sellerProfileUrl | Jane D. | The seller as shown on the listing |
deliveryTypes, shippingOffered | ["IN_PERSON"] | Local pickup or shipping |
subtitle | 67K miles | Facebook's extra line, e.g. a vehicle's mileage |
url, id | https://www.facebook.com/marketplace/item/1040710359029470/ | Link and listing id |
description * | 89x40 ... pick up only Lakeview | The seller's full description |
latitude, longitude * | 41.954, -87.654 | The listing's map pin |
condition, attributes * | Used – good | Condition and structured attributes |
photos, photoCount * | 5 | Every photo of the listing |
sellerRating, sellerRatingCount, sellerJoinedAt * | 5, 1, 2007-12-17 | Seller trust signals |
vehicle * | { make: "Honda", model: "Civic", year: 2018, mileage: 67000, ... } | Vehicle specs |
relatedSearches * | ["couch sofa", ...] | Searches Facebook relates to the listing |
changeType, previousPrice | price_changed, 350 | Only-new mode: what changed since the last run |
input, searchQuery, searchLocation, searchCategory | sofa · Chicago, IL | Which of your searches found it |
* With Listing details on (and always for listing links).
How to scrape Facebook Marketplace
- Click Try for free. Enter Search terms (for example
bike) and Locations (for exampleNew York, NY), or paste Marketplace URLs. - 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.
- Click Start. A 100-listing search takes about 10 seconds; with details about a minute.
- 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 plan | Per 1,000 listings | Details add-on, per 1,000 | Listings 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}
| Field | Default | Notes |
|---|---|---|
| Search terms | bike (example) | Each term is searched in every location (and category) |
| Locations | New York, NY (example) | City, "City, State", postal code, or "latitude, longitude" |
| Categories | none | 16 Marketplace categories; with terms they narrow the search, without terms they are browsed |
| Marketplace URLs or listing links | none | Searches, categories, city pages, single listings; a URL's own filters win |
| Sort by | Suggested | Newest first, price low/high, distance |
| Minimum / maximum price | none | In the location's currency; maximum 0 = free items |
| Condition | any | New, used - like new / good / fair |
| Date listed | any time | Last 24 hours, 7 days or 30 days |
| Availability | available | Or sold, for sold-price research |
| Delivery method | all | Local pickup or shipping only |
| Listed after | none | A date or "3 days"; older listings are dropped before charging |
| Title must / must not mention | none | Keyword filters on the title, applied before charging |
| Listing details | off | The details add-on |
| Only new listings | off | For scheduled runs; memory kept in a named key-value store in your account |
| Max listings / per search | 100 / 100 | Your cost caps |
| Proxy | Apify residential | Keep 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:
errorCode | Meaning |
|---|---|
NOT_FOUND | No such place, location or listing (sold and removed, deleted, or a wrong link) |
NO_LOCATION | A search without a location |
BLOCKED / RATE_LIMITED | Facebook refused the requests; run again later |
FACEBOOK_ERROR | Facebook 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
priceandlistedAt. - 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
Is it legal to scrape Facebook Marketplace?
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.
Related scrapers
- Facebook Groups Scraper: buy-and-sell group posts, where many local deals are listed outside Marketplace.
- Facebook Pages Scraper: contact details, followers and ratings of business sellers' Pages.
- Facebook Search Scraper: Facebook posts, Pages and people by keyword, for "for sale" posts outside Marketplace.
- Contact Details Scraper: emails and phones from dealers' and shops' websites.
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.