Facebook Marketplace Scraper - Listings, Prices & New Items
Pricing
from $1.28 / 1,000 listing delivereds
Facebook Marketplace Scraper - Listings, Prices & New Items
Scrape Facebook Marketplace listings by keyword and city, category or link, with no login and no cookies: price, location, photos, date, status, vehicle data and description. Goes past the 24-per-search cap, tracks new listings and price drops. No seller data.
Pricing
from $1.28 / 1,000 listing delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Scrape Facebook Marketplace listings by keyword and city, by category or from links you paste, with no login, no cookies and no Facebook account. Every row has the title, price, original price, currency, city and state, photo, creation date, status (live, pending or sold), delivery type, category and link. Turn on details to add the full description, all photos, condition and car data (make, model, odometer, transmission, title status, VIN).
Built for price monitoring, reselling, deal alerts, car and rental research: it goes past the 24-listing cap Facebook shows to visitors, delivers only new listings on scheduled runs and flags price drops. Error rows are free.
What you get
| Field | Example |
|---|---|
title | Nintendo Switch 2 Mario Kart bundle |
price, currency, priceText | 420, USD, "$420" |
originalPrice | 480 (when the seller marked a price drop) |
city, state, locationName | Brooklyn, NY, "Brooklyn, New York" |
imageUrl | first photo (full photo list with details on) |
createdAt | 2026-10-12T18:04:11Z |
status | live, pending or sold |
deliveryTypes | IN_PERSON, SHIPPING |
categoryId, subtitles | category id; mileage for cars, address line for rentals |
vehicleYear, mileage, mileageUnit | 2018, 64000, miles (cars, from the search page) |
bedrooms, bathrooms, area | 2, 1, 1100 (rentals, when shown) |
url | https://www.facebook.com/marketplace/item/1234567890/ |
searchTerm, location, variation, position | which search, city and filter variation found it |
With Include listing details on, each row also gets description, photos (all of them), photoCount, condition, categoryName, categoryPath, latitude/longitude (approximate, about 1 km, like Facebook shows) and, for vehicles, vehicleMake, vehicleModel, vehicleTrim, vehicleOdometer, vehicleTransmission, vehicleFuelType, vehicleExteriorColor, vehicleInteriorColor, vehicleOwners, vehicleTitleStatus, vehicleVin (only when the seller typed it), vehicleSellerType (private or dealer) and city/highway MPG.
No seller data. The Actor never returns the seller's name, profile id or photo, and there is no option to turn it on. You get the listing, not the person.
How to use it
- Type one or more search terms (for example
nintendo switch 2,standing desk,toyota camry). - Pick locations: a Marketplace city slug (
nyc,la,chicago,houston,london,toronto,sydney) or a city name (New York,Los Angeles). Every term is searched in every location. - Optional: price range, condition, "listed in the last 24 hours / 7 / 30 days", sort order.
- Run. Export as JSON, CSV or Excel, or read it from the API.
Input example
{"searchTerms": ["nintendo switch 2", "standing desk"],"locations": ["nyc", "los angeles"],"maxItemsPerSearch": 100,"minPrice": 50,"maxPrice": 600,"daysSinceListed": "7","includeDetails": false}
Other ways to give input
- Marketplace links: paste a search from your browser (
https://www.facebook.com/marketplace/nyc/search?query=desk&minPrice=50), a category page (https://www.facebook.com/marketplace/la/vehicles) or a single listing (https://www.facebook.com/marketplace/item/1234567890/). Filters in the link are kept. A single listing link always returns the full details. - Categories:
vehicles,propertyrentals,electronics,furniture,home,apparel,toys,free... browsed in each location. - Any city in the world: open Marketplace in that city in your browser and copy the word or number right after
/marketplace/in the address bar (for example108424279189115). Set Country for numeric locations to that country (US, GB, CA, AU, DE...).
Location that stays where you asked
Facebook decides what to show from the visitor's IP. This Actor searches from a residential IP in the city's country and uses the city in the address, so a search in houston returns Houston-area listings and a search in london returns London listings. Every row carries city and state, so you can check it. A location Facebook does not know comes back as a free UNKNOWN_CITY row with instructions, instead of silently searching somewhere else.
The 24-listing cap, and how it is handled
Facebook shows only 24 listings per search page to visitors who are not logged in, and there is no page 2 without an account (the next-page request returns an empty list). That is why many Marketplace tools return "only 24" or "only 26 listings".
With Go past 24 listings per search on (default), the Actor runs the same search again with other filters: newest first, price low to high and high to low, listed in the last day or week, each condition, and price bands built from the prices it has already seen. Each variation shows a different set of 24, and only listings not seen yet are kept (deduplicated by listing id). Each row says which variation found it in variation.
What to expect, honestly:
- Big cities and broad terms: about 100 to 300 unique listings per search (300 for "standing desk" in New York in our tests, from 22 pages).
- Small towns or narrow terms: fewer, because there are fewer listings; the Actor stops a search when new variations stop bringing new listings, so you do not pay for empty pages.
- It is not the full Marketplace inventory. For more coverage, split one broad search into several terms or price ranges, or add nearby cities.
Scheduled monitoring: new listings and price drops
Most Marketplace scraping is a schedule: "tell me every new PS5 under $350 in Chicago". Save your input as a Task and schedule it (every hour, every morning).
- Only new listings since the last run: the Actor remembers the listing ids each search already returned (in a key-value store named
facebook-marketplace-scraper-stateon your account), reads newest first and delivers only listings you have not received. Already seen listings are not delivered and not charged. A run with nothing new ends quickly after 2 or 3 pages. - Track price changes: adds
isNewListing,firstSeenAt,previousPrice,priceChangeandisPriceDrop. With both options on, a listing you already have comes back when its price moves.
Connect the dataset to email, Slack, Google Sheets or a webhook with Apify integrations to get alerts.
Output example
{"id": "1234567890123456","url": "https://www.facebook.com/marketplace/item/1234567890123456/","title": "2018 Toyota Camry SE Sedan 4D","price": 15900,"priceText": "$15,900","currency": "USD","originalPrice": null,"city": "Pasadena","state": "CA","imageUrl": "https://scontent.xx.fbcdn.net/...jpg","createdAt": "2026-10-11T21:40:02Z","status": "live","deliveryTypes": ["IN_PERSON"],"subtitles": ["64K miles"],"vehicleYear": 2018,"mileage": 64000,"mileageUnit": "miles","searchTerm": "toyota camry","location": "la","variation": "sortBy=creation_time_descend","position": 3,"description": "One owner, clean title, new tires...","photoCount": 12,"vehicleMake": "Toyota","vehicleModel": "Camry","vehicleTransmission": "AUTOMATIC","vehicleTitleStatus": "CLEAN","scrapedAt": "2026-10-13T09:12:44Z"}
Problems never fail the run. They come as free rows with type: "error", an errorCode and a message: INVALID_INPUT, UNKNOWN_CITY, NO_RESULTS, NOT_FOUND (listing removed), BLOCKED (Facebook refused the page after retries; run again), NOT_REACHED (run timeout).
Pricing
Pay per result, proxy included:
| Event | Price |
|---|---|
| Listing delivered | $1.50 per 1,000 listings |
| Listing details added (only with details on) | $3.00 per 1,000 listings |
| Actor start | $0.005 per run |
Higher Apify plans get lower prices automatically. Error rows, duplicates and listings held back by "Only new listings" are never charged. Use Max listings for the whole run to cap the cost of each run.
Examples: 1,000 listings without details cost about $1.51; 1,000 listings with details about $4.51; a scheduled "only new" check that finds 10 new listings costs about $0.02.
Tips
- Keep the residential proxy (default). Facebook shows a login wall to datacenter IPs.
- Use Newest first or Only new listings for alerts; use the price filters to cut noise.
- Car hunting: search a model (
honda civic) and turn on details for odometer, title status and VIN. Thevehiclescategory gives the newest cars of a city. - Rentals: browse
propertyrentals; beds, baths and area come from the listing title when the poster filled them in. - Prices are in the local currency of the location (USD in the US, GBP in the UK, EUR in France and Germany).
FAQ
Do I need a Facebook account or cookies? No. Everything comes from what Facebook shows to visitors. Nothing is logged in and nothing is posted.
Why do some searches return fewer listings than I asked for? Facebook shows 24 per page to visitors; the filter variations find more, but each city and term has a limit. The run stops when new variations stop bringing new listings.
Can I get the seller's name or profile? No, by design. Seller identity is personal data and is not collected.
Is it legal? The Actor reads public listing pages only, with no login. You are responsible for using the data in line with the laws that apply to you (for example GDPR and CCPA) and with Facebook's terms. Do not use it to contact or profile private people.
Facebook changed something and results look wrong? Open an issue with the run link; Marketplace pages change often and fixes are made quickly.