Facebook Marketplace Scraper - Listings, Prices & Alerts
Pricing
from $7.00 / 1,000 results
Facebook Marketplace Scraper - Listings, Prices & Alerts
Scrape public Facebook Marketplace search results by keyword and city. Returns listing ID, title, numeric price, currency, city/state, photo, delivery options, listing date and status, with optional description, GPS coordinates and attributes, plus a new-listings-only monitoring mode.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
Thirdwatch
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
2
Monthly active users
16 days ago
Last modified
Categories
Share
Facebook Marketplace Scraper
Thirdwatch portfolio: 8,800+ users across 140+ public Actors, 2M+ records delivered, >95% run success. Explore all Thirdwatch Actors.
What you get
Scrape Facebook Marketplace listings by keyword, location, category, search URL, or item URL. Get one clean dataset row per listing with prices, descriptions, photos, coordinates, condition, delivery options, timestamps, and structured vehicle data.
This Actor reads Facebook's own public listing data directly, with no Facebook login required and no charge for empty diagnostic rows. That makes scheduled price tracking and new-listing monitoring fast and economical. Full item-page enrichment is optional, so high-frequency search monitors can skip the extra cost of fetching every detail page.
What you can do
- Monitor newly listed Marketplace items in a city
- Track second-hand prices and local inventory
- Find cars by make, model, price, condition, and radius
- Collect full item descriptions and image galleries
- Build local resale, market-research, and lead-generation datasets
- Feed listing data into Google Sheets, webhooks, Zapier, Make, or your API
Why use this Facebook Marketplace scraper?
- No login required: no Facebook credentials or user cookies needed
- One row per listing: easy to export and process; no nested result batches
- Real pagination: uses the query ID and cursor supplied dynamically by Facebook
- Rich detail enrichment: descriptions, all photos, GPS, attributes, and vehicle specs
- Monitoring mode: return only listing IDs not seen in earlier runs
- Fair billing: a result event is charged only when a unique listing is returned, at a low price per 1,000 listings
Quick start
Search for listings in New York:
{"queries": ["used sofa", "standing desk"],"location": "nyc","maxResults": 50,"includeDetails": false}
Find newly listed cars within a price range:
{"queries": ["Toyota Camry"],"location": "losangeles","minPrice": 5000,"maxPrice": 18000,"radiusKm": 50,"sortBy": "creation_time_descend","daysSinceListed": "7","includeDetails": true}
Scrape a saved search, category, or individual item directly:
{"startUrls": [{"url": "https://www.facebook.com/marketplace/nyc/vehicles"},{"url": "https://www.facebook.com/marketplace/item/123456789012345/"}],"maxResults": 100}
Input options
| Field | Description | Default |
|---|---|---|
queries | Marketplace keywords to search | used sofa |
location | Marketplace URL location slug such as nyc, london, or sydney | nyc |
searchUrls | Existing Marketplace search or category URLs | — |
startUrls | Direct item, search, or category URLs | — |
maxResults | Maximum unique results per query or URL, up to 2,000 | 10 |
includeDetails | Enrich descriptions, photos, coordinates, attributes, and vehicles | false |
detailConcurrency | How many item pages to fetch in parallel when includeDetails is on | 5 |
minPrice / maxPrice | Price filters | — |
radiusKm | Search radius from 1 to 500 km | Facebook's default |
sortBy | Relevance, newest, price ascending, or price descending | relevance |
itemCondition | Any, new, like new, good, or fair | any |
daysSinceListed | Any time, 1 day, 7 days, or 30 days | any |
deliveryMethod | All, local pickup, or shipping | all |
monitoringMode | Return only listing IDs not seen in previous runs | false |
monitoringKey | Optional stable key that isolates one monitor's history | derived from searches |
proxyConfiguration | Network routing settings. Defaults are tuned for reliable access; most users can leave this as-is. | auto |
You may supply queries, URLs, or both. Filters entered separately apply to generated query URLs; filters already present in supplied URLs are preserved.
Up to 20 combined queries, searches, categories, and direct item URLs can be processed in one run. Larger workloads should be split across Tasks so failures and schedules remain isolated.
Output fields
Every dataset item represents one unique Marketplace listing.
| Field | Meaning |
|---|---|
id, item_url | Facebook listing ID and canonical Marketplace URL |
title, description | Listing title and full public description |
price, currency, formatted_price | Current numeric and display price |
original_price, formatted_original_price | Previous price when Facebook exposes one |
location, city, state | Public listing location |
latitude, longitude | Public item coordinates when exposed |
condition, attributes | Condition and other listing attributes |
primary_image_url, photos, photo_count | Main image and full photo gallery |
delivery_types | Pickup and shipping options |
creation_time, created_at | Listing publication time, when Facebook exposes it |
is_live, is_sold, is_pending | Listing status flags |
vehicle | Make, model, trim, odometer, transmission, fuel, VIN, colors, title status, specifications, and features when disclosed |
source_query, searched_location, search_url | Source and reproducibility metadata |
scraped_at | UTC extraction timestamp |
Example output:
{"id": "123456789012345","item_url": "https://www.facebook.com/marketplace/item/123456789012345/","title": "2019 Toyota Camry SE","description": "Clean title, one owner...","price": 15900,"currency": "USD","location": "Los Angeles, California","latitude": 34.0522,"longitude": -118.2437,"condition": "Used - Good","photo_count": 12,"vehicle": {"make": "Toyota","model": "Camry","trim": "SE","transmission": "Automatic"}}
Monitoring new Facebook Marketplace listings
Enable monitoringMode and schedule the Actor. The Actor stores previously returned listing IDs in a persistent named key-value store, then emits only newly discovered listings. Its history key is derived from the searches and URLs, or you can set monitoringKey explicitly. Connect a webhook to receive alerts without maintaining your own deduplication database.
For isolated monitors, create a separate Apify Task per saved search so each Task keeps the intended input and schedule.
The monitor retains the most recent 100,000 listing IDs per monitoring key. Use separate keys for unrelated markets or long-running high-volume feeds.
Migrating from version 1
Version 2 returns one dataset row per listing. Version 1 returned one batch object containing a nested listings array plus diagnostic fields such as block_reason. Update integrations to iterate dataset rows directly. Failed or blocked requests now fail explicitly and do not create billable diagnostic rows.
Support
If a public Marketplace URL stops returning data, open an issue with the Actor run ID, location slug, and a redacted example URL. Do not include Facebook credentials or private account cookies.
Use cases
- E-commerce teams tracking prices and assortment
- Marketplace analysts comparing categories
- Resellers and sourcing teams finding products
Limitations
- Facebook changes its public Marketplace interface without notice, and some regions, listings, or fields require a logged-in Facebook session; those cannot be returned since this Actor works without logging in.
- Seller identity is commonly withheld from anonymous visitors, so
sellerreturnsnullrather than a guess. - VIN and some other vehicle fields only appear when the seller chose to disclose them.
- Listings that are removed or marked sold between runs will no longer appear; this Actor reflects the Marketplace as it looks at run time, not a historical record.
Related Actors
- Craigslist Scraper — Thirdwatch — another local classifieds source for the same resale/price-tracking workflow
- Amazon Product Scraper - Prices, Deals & Monitoring — Thirdwatch — compare resale prices against new retail listings
Last verified: 2026-09
More scrapers at thirdwatch.dev.