Facebook Marketplace Scraper
Pricing
from $1.00 / 1,000 results
Facebook Marketplace Scraper
Facebook Marketplace scraper for finding public listings by keyword, location, price, condition, and category. Export results to CSV, Excel, or JSON.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
devcake
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape and export public Facebook Marketplace listings
Collect public Facebook Marketplace listings in a clean, ready-to-use table. This Actor searches by keyword or browses Facebook Marketplace search and category pages, applies practical filters, and exports normalized results through an Apify Dataset.
No Facebook login is required. The Actor only reads information Facebook shows publicly and never creates, edits, buys, sells, or messages about listings.
๐ What can this Facebook Marketplace scraper do?
- ๐ Run one or more keyword searches, with a separate listing limit for each query.
- ๐๏ธ Browse Marketplace search or category links and numeric category IDs.
- ๐ Filter by location, radius, price, condition, listing date, delivery method, and availability.
- โ๏ธ Sort listings by best match, newest, price, or distance.
- ๐ Optionally enrich search results with fuller descriptions, photos, videos, public seller information, and category-specific details.
- ๐งน Remove duplicate listing IDs found across multiple searches or sources.
- ๐ฆ Save normalized results to an Apify Dataset for export or integration.
The Actor requires at least one search query or one Marketplace link/category ID. When queries contains a value, it takes priority and categoryUrlsOrIds is ignored.
๐ How to scrape Facebook Marketplace listings
- ๐ Enter a phrase such as
office chairin Search queries. To browse instead, clear the queries and add a Marketplace search/category link or numeric category ID. - ๐๏ธ Choose the listing limit and any location, price, condition, date, delivery, availability, or sorting options.
- ๐ Enable Include listing details when you need richer listing-page data. Detail requests take longer than search-only runs.
- โถ๏ธ Click Run.
- ๐ฅ Open the Dataset tab to preview or export the results.
โ๏ธ Input configuration
The table below mirrors the current .actor/input_schema.json fields.
| Input | Type | Default | What it does |
|---|---|---|---|
queries | Array of strings | office chair prefill | Runs each keyword as a separate search. If non-empty, these queries take priority over categoryUrlsOrIds. |
categoryUrlsOrIds | Array of strings | [] | Accepts HTTPS Facebook Marketplace search, browse, city, or category links, plus numeric category IDs. Listing item URLs are not accepted here. |
maxItemsPerQuery | Integer | 50 | Returns at most this many listings for each query, link, or category ID. Allowed range: 1โ500. |
includeListingDetails | Boolean | false | Opens listing pages to enrich results with fuller descriptions, media, seller information, and category details when available. With the current runtime defaults, up to 100 search results are enriched per run. |
location | String | Empty | Sets a city, state, country, ZIP code, or Marketplace location slug for keyword/category-ID searches. |
radiusKm | Number | Not set | Sets the search radius around the selected location. Minimum: 0.1 km. |
minPrice | Number | Not set | Keeps listings at or above this price in the Marketplace currency. Minimum: 0. |
maxPrice | Number | Not set | Keeps listings at or below this price in the Marketplace currency. Minimum: 0. |
sortBy | Select | best_match | Sorts by best match, newest first, price low-to-high, price high-to-low, or nearest first. |
conditions | Multi-select | [] | Filters for new, usedโlike new, usedโgood, and/or usedโfair listings. |
daysSinceListed | Integer | Not set | Keeps listings posted within the selected number of days. Allowed range: 1โ365. |
untilDate | String | Not set | Keeps listings posted on or after this date. Format: YYYY-MM-DD. |
deliveryMethods | Multi-select | [] | Filters for local pickup, shipping, or both. |
availability | Select | in_stock | Returns all listings, available listings only, or sold/pending listings. |
proxyConfiguration | Object | Apify Residential, US | Controls the connection used for Facebook requests. The default usually works best. |
The Actor applies the configured filters whenever Facebook provides enough data to evaluate them. A supplied Marketplace URL also retains the search context encoded in that URL. If Facebook omits a field needed to verify a filter, the result can be retained and identified through filterUnverifiedFields and filtersVerified instead of having missing data guessed.
Example input
{"queries": ["office chair","standing desk"],"categoryUrlsOrIds": [],"maxItemsPerQuery": 25,"includeListingDetails": true,"location": "San Francisco, California","radiusKm": 25,"minPrice": 20,"maxPrice": 300,"sortBy": "creation_time_descend","conditions": ["used_like_new","used_good"],"daysSinceListed": 7,"deliveryMethods": ["local_pick_up"],"availability": "in_stock","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
๐ฆ What Facebook Marketplace data can you extract?
| Data group | Examples |
|---|---|
| Listing | ID, URL, title, description, condition, attributes, category, and inventory count |
| Price | Formatted price, numeric amount, currency, price type, previous price, and price range |
| Location | Place name, city, state, postal code, coordinates, and calculated distance |
| Media | Main image, photo gallery, and video URLs |
| Availability | Available, sold, pending, live status, and delivery types |
| Seller | Public seller ID, name, profile URL, profile image, and business status |
| Category details | Vehicle and real-estate information when Facebook provides it |
| Provenance | Search query, requested source, source type, scrape time, and resolved search context |
| Quality and detail status | Verified/unverified filters, mismatch reasons, detail status, attempts, source, and errors |
Search results may already contain many of these fields. Enabling includeListingDetails gives the Actor a chance to enrich each result from its listing page. Missing information is left empty rather than guessed, and seller information is limited to publicly visible fields.
๐ค Export and use your Marketplace data
Results appear in an Apify Dataset, the downloadable table for the run. Preview it in the browser or export it as Excel, CSV, JSON, XML, or another supported format. See the Apify Dataset documentation.
You can also:
- ๐๏ธ Save the input as an Apify Task and run it on a schedule.
- ๐ Connect the Dataset to other tools through Apify integrations or the Apify API.
- ๐งพ Read the run summary and diagnostics from the Actor output links.
๐ณ Pricing, limits, and reliability
- ๐ฐ Check the Actor's Pricing tab for current pricing and use Apify's spending limit to control your budget.
- ๐
maxItemsPerQueryis a per-query/source cap; duplicate IDs are merged before the Dataset is written. - โณ Enabling listing details adds requests and can increase runtime and cost.
- ๐ Facebook may limit public access, omit fields, or vary results by location and connection.
- ๐ ๏ธ If a run returns no listings, try a broad query, fewer filters, a recognized Marketplace location, or the default proxy settings.
โ Frequently asked questions
Can Apify scrape Facebook Marketplace?
Yes. This Actor collects publicly visible Marketplace search and category results and saves normalized records to an Apify Dataset. Results depend on what Facebook exposes publicly for the selected location and connection.
Do I need a Facebook account?
No. The Actor does not require Facebook credentials and does not access private Marketplace data, messages, or account-only actions.
Can I use a Facebook Marketplace URL instead of a keyword?
Yes. Clear queries, then add an HTTPS Facebook Marketplace search, browse, city, or category URL to categoryUrlsOrIds. You can also use a numeric Marketplace category ID. Direct /marketplace/item/... listing URLs are not part of the current input schema.
Why are some output fields empty?
Facebook does not expose every field on every search result or listing page. Missing values are left empty. Enable includeListingDetails to request richer data, while keeping in mind that a detail page can still be partial or unavailable.
Is Facebook Marketplace scraping legal?
Legality depends on the data, location, purpose, and use. Public access does not make every use automatically permitted. Follow applicable laws, Facebook's terms, privacy rules, and reasonable limits. Seek legal advice when needed.