Facebook Marketplace Scraper
Pricing
Pay per usage
Facebook Marketplace Scraper
Facebook Marketplace scraper that collects public listing titles, prices, locations, sellers, and photos so resellers can research local markets without manual copying.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Luffy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare

Facebook Marketplace Scraper
Facebook Marketplace scraper for public listings. Paste a Marketplace search URL or a keyword, run the actor, and get title, price, location, seller, and photo into a clean dataset you can export to JSON, CSV, or Excel.
It works on public Marketplace pages only. Content that requires a login is out of scope.
What data does this actor extract
| Field | Meaning |
|---|---|
listingId | Marketplace listing id |
listingTitle | Public listing title |
price | Formatted asking price |
priceAmount | Numeric price amount when present |
strikethroughPrice | Previous or crossed-out price when present |
city | City from the listing location |
state | State or region |
locationDisplay | Broader location display name |
sellerName | Public seller name when available |
sellerId | Public seller id when available |
photoUrl | Primary listing photo URL |
categoryId | Marketplace category id |
isSold / isPending / isLive | Listing status flags |
creationTime | Creation time when present |
listingUrl | Public item URL |
sourceUrl | Search or category URL the row came from |
scrapedAt | ISO timestamp for when the row was saved |
Use cases
- Research local resale prices for furniture, bikes, or electronics before you buy or sell
- Price your own listing by comparing near-identical items in the same city
- Spot underpriced goods to review by hand against the local median
- Compare used car asking prices across metro areas
- Size supply for a category such as strollers or gaming consoles
- Schedule deal alerts into Sheets, Make, Zapier, or n8n
How to run
- Add one or more public Marketplace URLs under
startUrls, or setsearchQuerywith alocationslug such asnyc. - Optionally set price, sort, days-listed, or condition filters.
- Set
maxItemsif you want more than the default of 3 (up to 1000). - Start the run and download the dataset.
A URL that returns no listings writes an error row and the run continues with the next URL.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | NYC bike search | Public Marketplace URLs |
searchQuery | string | empty | Optional keyword used to build a search URL |
location | string | nyc | Location slug used with searchQuery |
minPrice | integer | empty | Minimum asking price |
maxPrice | integer | empty | Maximum asking price |
sortBy | string | empty | best_match, creation_time_descend, price_ascend, price_descend, or distance_ascend |
daysSinceListed | string | empty | 1, 7, or 30 |
itemCondition | string | empty | new or used |
radiusKm | integer | empty | Search radius in kilometers from the location center |
maxItems | integer | 3 | Max listings to save (hard cap 1000) |
requestTimeoutSecs | integer | 60 | Per-request timeout in seconds |
Example input
{"searchQuery": "bike","location": "nyc","minPrice": 100,"maxPrice": 400,"sortBy": "price_ascend","daysSinceListed": "7","itemCondition": "used","radiusKm": 40,"maxItems": 50,"requestTimeoutSecs": 60}
Example output
{"listingId": "2417574965318193","listingTitle": "Diamondback Hook Mountain Bike","price": "$80","priceAmount": "80.00","strikethroughPrice": "$120","city": "Staten Island","state": "NY","locationDisplay": "New York, New York","sellerName": "Jonny Zoe","sellerId": "100035780016700","photoUrl": "https://scontent.xx.fbcdn.net/v/example.jpg","categoryId": "1658310421102081","isSold": false,"isPending": false,"isLive": true,"creationTime": 1793466354,"listingUrl": "https://www.facebook.com/marketplace/item/2417574965318193","sourceUrl": "https://www.facebook.com/marketplace/nyc/search?query=bike","scrapedAt": "2026-11-02T01:00:00+00:00","error": null}
FAQ
How many listings can one run collect?
Up to maxItems, with a hard maximum of 1000 listings per run.
Can I scrape private or logged-in only listings? No. This actor only targets public Marketplace pages.
What happens if a URL fails? The actor saves an error row for that URL and continues with the remaining URLs.
Do I need a Facebook account? No. It only reads public Marketplace content.
Can I schedule recurring runs? Yes. Use Apify schedules and push the dataset into Sheets, Make, Zapier, or n8n.
Trademark notice
Facebook Marketplace and related names, logos, and trademarks belong to their respective owners. Their use here only identifies the source of the data and does not imply affiliation, sponsorship, endorsement, or partnership.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, sponsored by, or otherwise officially associated with Facebook Marketplace or its owners. All data is collected from publicly available sources. Users are responsible for complying with the source's terms of use, rate limits, and attribution or licensing requirements.
Is web scraping legal
This Actor only collects publicly available data from Facebook Marketplace, without logging in. Scraping public data is generally legal, but how you use it matters.
- Personal data. If results include personal data (names, emails, profile details), laws such as the GDPR in the EU and the CCPA in California may apply. Only collect and store personal data when you have a legitimate reason.
- Copyright. Some content may be protected by copyright. Do not republish full copyrighted content without permission.
- Legal advice. This is general information, not legal advice. If you are unsure, consult a lawyer.
To learn more, read Apify's guide Is web scraping legal?
