Facebook Marketplace Scraper - Listings, Prices & Price Drops avatar

Facebook Marketplace Scraper - Listings, Prices & Price Drops

Pricing

from $0.40 / 1,000 listing scrapeds

Go to Apify Store
Facebook Marketplace Scraper - Listings, Prices & Price Drops

Facebook Marketplace Scraper - Listings, Prices & Price Drops

Scrape Facebook Marketplace listings by keyword + city, category or URL: price, original price, location, photos, category, date listed, sold status. Add-on: description, all photos, condition, coordinates, vehicle and property data. Monitor mode returns only new listings and price drops. No login.

Pricing

from $0.40 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Top Api

Top Api

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

What does Facebook Marketplace Scraper do?

Facebook Marketplace Scraper extracts Facebook Marketplace listings from facebook.com/marketplace by keyword and city, by category, or by listing URL. Each listing becomes one row with title, price, original price, location, photo, category and listing date. Resellers, dealers, property managers and researchers use it to price items and catch new listings without scrolling Marketplace.

Also known as: FB Marketplace scraper, Facebook Marketplace API, Marketplace listings extractor, Marketplace price tracker.

Facebook Marketplace search results page that Facebook Marketplace Scraper turns into rows

  • Every listing in a search: title, price, original price, city, photo, category, date listed, sold/pending, delivery options.
  • Search the way Marketplace does: keyword, city or postal code, radius, 18 categories, price, condition, date listed and sort, all sent to Facebook itself.
  • Listing details add-on: description, every photo, condition, coordinates and distance, vehicle data (year, make, model, mileage, transmission) and property data (beds, baths, street).
  • Price-drop monitor: scheduled runs return only new listings and price drops, with previousPrice and priceDelta.
  • No login, cookies or Facebook API key: you give a keyword and a place.
  • Pay only for delivered rows: no start fee.
  • Export anywhere: JSON, CSV, Excel; schedules, webhooks, Make, Zapier, n8n, Google Sheets, the Apify API and MCP.

What data can you get from Facebook Marketplace?

๐Ÿ†” Listing id and URL (`listingUrl`)๐Ÿ“ Title๐Ÿ’ฒ Price and currency
๐Ÿท๏ธ Original price and discount %๐Ÿ“ City, state, `locationText`๐Ÿ“… Date listed (`listedAt`)
๐Ÿ–ผ๏ธ Primary photo (`photoUrl`)๐Ÿ—‚๏ธ Category (`categoryName`)โœ… Sold / pending flags
๐Ÿšš Delivery options๐Ÿ“„ Full description โž•๐Ÿ“ธ Every photo โž•
โญ Condition and attributes โž•๐ŸŒ Latitude, longitude, distance โž•๐Ÿš— Vehicle: year, make, model, mileage โž•
๐Ÿ  Property: beds, baths, street โž•๐Ÿ“‰ Price drop: `previousPrice`, `priceDelta`๐Ÿ”Ž Search keyword and location

โž• = with Include listing details on. On a 25-listing live run ("desk" near Austin, details on) every row had a title, price, currency, city, photo, category, listing date, condition, coordinates and distance; 92% had a description, 40% an original price, and listings had 1 to 8 photos (3.4 on average).

How to scrape Facebook Marketplace with Facebook Marketplace Scraper

  1. Create a free Apify account: $5 of monthly credit, no card needed.
  2. Open Facebook Marketplace Scraper and click Try for free.
  3. Type what you want into Search keywords (e.g. bike) and a place into Location (e.g. Austin, TX).
  4. Set Max listings per search, and turn on Include listing details if you need descriptions, all photos or vehicle data.
  5. Click Start. Rows stream into the dataset as they are found.
  6. Open the Storage tab and Export as JSON, CSV or Excel, or let a schedule run it for you.

โฌ‡๏ธ Input

ParameterTypeDescription
๐Ÿ” What to scrape
searchQueriesListKeywords, one per line, e.g. bike, iphone 15, honda civic. Prefill: bike.
locationStringCity, City, State, postal code or lat,lng; several places separated by ;. Default: New York, NY.
radiusKmIntegerSearch radius (1-500 km). Facebook's own filter; exact with listing details.
categoriesSelect (multi)18 Marketplace categories (Vehicles, Property Rentals, Home Sales, Electronics, Free Stuff and more). Without keywords each is browsed.
listingUrlsListListing URLs or ids, or Marketplace search/category URLs copied from your browser.
๐ŸŽฏ Filters (applied by Facebook)
minPrice, maxPriceIntegerPrice window in the local currency. maxPrice: 0 = free items.
conditionSelect (multi)New, Used - like new, Used - good, Used - fair. Default: any.
sortBySelectBest match (default), newest first, price low/high, distance.
daysSinceListedSelectAny time (default), last 24 hours, 7 days, 30 days.
โœ‚๏ธ Refine results
mustContainQueryBooleanKeep only listings whose title contains every word of the keyword. Default: false.
excludeKeywordsStringDrop listings whose title (or description, with details) contains any of these words.
โž• Extra data
includeListingDetailsBooleanDescription, all photos, condition, coordinates, vehicle and property data, charged as Listing details per row that gets it. Default: false.
๐Ÿ” Monitoring
monitorModeBooleanReturn only listings not delivered by previous runs, plus price drops. Pair with a schedule.
monitorStoreNameStringName of the store that remembers delivered listings. Default: facebook-marketplace-monitor.
๐Ÿ“ฆ Output
maxResultsPerQueryIntegerCap per keyword x category x location. Default 100, prefill 24, 0 = up to 5,000.
maxItemsIntegerCap for the whole run. 0 = no total cap.
compactBooleanCore fields only, sized for AI agents and MCP.
โš™๏ธ Advanced
proxyConfigurationProxyDefault: Apify RESIDENTIAL (US). Other choices fall back to it automatically.

Input JSON

{
"searchQueries": ["desk", "office chair"],
"location": "Austin, TX",
"maxPrice": 150,
"sortBy": "newest",
"daysSinceListed": "7",
"includeListingDetails": true,
"maxResultsPerQuery": 50
}

Write the location as "City, State" or a postal code

Facebook's own location search resolves the place. Do: Austin, TX, Manchester, UK, 90210, 30.27,-97.74. Don't: Austin alone when you mean Texas (several towns share the name; the log prints the place used).

Paste a Marketplace search URL to keep your browser filters

Copy the address bar of a Marketplace search into listingUrls. The actor reads its city, keyword, category and filters (minPrice, maxPrice, sortBy, daysSinceListed, itemCondition); the form's filters do not override it.

Sort by newest for alerts, by distance for "near me"

newest is the order for monitoring; Facebook widens the area slightly for it. distance keeps results closest to you. Facebook treats the radius as a hint (about 65 km), so turn on listing details when it must be exact: farther rows are removed.

Turn on "Only listings that contain the keyword" for strict results

Marketplace search is fuzzy: bike also returns bike racks. With mustContainQuery every keyword word must appear in the title.

โฌ†๏ธ Output

Every listing becomes one dataset item. Here is the table view of the 25-listing live run for desk near Austin, TX with listing details on:

Facebook Marketplace Scraper output table with listings, prices and details

And one row as JSON (trimmed):

{
"id": "960824729657551",
"listingUrl": "https://www.facebook.com/marketplace/item/960824729657551/",
"title": "Black Desk (with drawer stand)",
"price": 25,
"priceFormatted": "$25",
"currency": "USD",
"originalPrice": 50,
"discountPct": 50,
"city": "Austin",
"state": "TX",
"latitude": 30.270080566406,
"longitude": -97.684936523438,
"distanceKm": 6,
"categoryName": "Furniture",
"condition": "Used - like new",
"listedAt": "2026-09-16T13:33:48.000Z",
"photoCount": 5,
"description": "Black desk with drawers\n\n48 inches wide\n22 inches deep\n30 inches tall",
"isSold": false,
"deliveryTypes": ["IN_PERSON", "DOOR_PICKUP"],
"searchQuery": "desk",
"searchLocation": "Austin, Texas",
"detailsFetched": true
}

Rows also keep Facebook's own field names (marketplace_listing_title, listing_price, primary_listing_photo, location, redacted_description, listing_photos, vehicle_*), as other Marketplace scrapers do, so existing pipelines keep working.

Fields

FieldTypeWhat it isFill on test run
id, listingUrl, titlestringListing id, link, title100%
price, priceFormatted, currencynumber, stringPrice as a number, as shown, ISO currency100%
originalPrice, discountPctnumberStruck-through price and markdown %40% (only marked-down items)
city, state, locationTextstringWhere the item is100%
photoUrlstring (URL)Primary photo100%
categoryName, categoryIdstringMarketplace category100%
listedAt, listedHoursAgoISO date, numberWhen it was posted100%
isSold, isPending, deliveryTypesboolean, arrayStatus and delivery options100%
description โž•stringFull description92%
photoUrls, photoCount โž•array, integerEvery photo100%
condition, attributes โž•string, arrayCondition and listing attributes100%
latitude, longitude, distanceKm โž•numberCoordinates and distance from the search point100%
vehicle โž•objectyear, make, model, mileage, transmission, exterior colour, seller type 100%; trim 92%; fuel 88%; MPG 68%; owners 56%; title status 40%vehicles (25-car run)
property โž•objectProperty type, beds, baths, street, walk/transit scoresrentals and home sales
changeType, previousPrice, priceDeltastring, numberMonitor mode: NEW or PRICE_DROPmonitor runs

How can I use Facebook Marketplace data?

  • ๐Ÿ’ธ Resellers and flippers: an alert when an item is listed under your price, or a seller cuts the price.
  • ๐Ÿš— Car dealers and buyers: private-party cars with year, make, model, mileage and asking price for trade-in pricing.
  • ๐Ÿ  Property managers and renters: rentals and homes for sale with beds, baths, street and price.
  • ๐Ÿ“Š Market researchers and brands: second-hand prices, supply and discounting across cities.
  • ๐Ÿค– AI and data teams: compact rows for an LLM or MCP agent ("a used road bike under $300 near Denver").

How much does it cost to scrape Facebook Marketplace?

Facebook Marketplace Scraper is pay-per-result: $0.40 per 1,000 listings, no start fee. Listing details are $0.80 per 1,000 listings that receive them.

ListingsCostWith listing details
10$0.004$0.012
100$0.04$0.12
1,000$0.40$1.20
10,000$4.00$12.00

Measured on the platform: 24 listings in 5-13 seconds, 100 listings in 15 seconds, 25 listings with details in 22 seconds, all on 256 MB with a peak of 42-52 MB.

Facebook Marketplace in your tools: integrations, API, scheduling & MCP

  • Schedules: run it hourly or daily from the Schedules tab with monitorMode and sortBy: newest to receive only new listings and price drops.
  • Webhooks: fire a URL when a run finishes and push the new listings to Slack, a CRM or a sheet.
  • No-code: Make, Zapier, n8n, Google Sheets, Airtable, Slack via Apify integrations.
  • API: call it from Node.js or Python with apify-client; code is on the API tab and in the Apify API reference.
  • MCP / AI agents: connect Claude, Cursor or any MCP client through the MCP tab and ask for Marketplace listings in plain language; set compact: true to keep rows small.

More scrapers by TopApi

๐Ÿ“ฐ Facebook Search Posts Scraper - public Facebook posts by keyword, date and place๐Ÿ“ธ Instagram Scraper - posts, reels and profiles without login๐ŸŽต TikTok Scraper - videos, hashtags and profiles
๐ŸŽฌ TikTok Video Scraper - one row per video URL๐Ÿฆ Twitter Profile Scraper - X followers, bio and verified badge๐Ÿ’ผ Indeed Jobs Scraper - job listings by keyword and location
๐Ÿ“ˆ Similarweb Scraper - website traffic and rankings๐Ÿ“ Google Maps Reviews Scraper - reviews, ratings and owner replies๐Ÿ”Ž All TopApi actors - scrapers built for schedules, APIs and AI agents

Limits & empty runs

  • Listings per search: 24 per request; one search paged to 734 unique listings with no duplicates. Cap up to 5,000 per search.
  • No seller name or profile: Facebook does not show the seller to signed-out visitors (empty on every listing tested); scrapers that return it ask for your cookies.
  • Dealer contacts and vehicle feature lists appeared on none of 121 vehicle listings tested (all private sellers); they are added only when Facebook shows them.
  • Radius: visitors get about 65 km whatever the radius; the exact radius applies with listing details on.
  • Currency comes from the listing (details) or the price symbol plus the listing's state; empty when ambiguous.
  • Postal code only for vehicles and property. The few eBay items inside Marketplace are flagged isPartnerListing, with the eBay seller in partner.
  • Photo links are signed Facebook URLs that expire after some days.
  • Empty dataset: no listings match, the place was not found (the log says so), or monitor mode found nothing new.

FAQ

How many listings can Facebook Marketplace Scraper collect in one run?

As many as you allow: each keyword x category x location is one search with its own cap (maxResultsPerQuery, up to 5,000), and maxItems caps the whole run. One search paged to 734 listings in testing. For more, split by city, category or price range.

Can I run Facebook Marketplace Scraper on a schedule to get new listings automatically?

Yes. Save your input as a task, turn on monitorMode, set sortBy to newest and add a schedule. Each run returns only listings not delivered before and listings whose price dropped; a run with nothing new delivers nothing.

How does Facebook Marketplace Scraper detect price drops?

It remembers the price of every listing it delivered (in the store named by monitorStoreName). When a known listing reappears cheaper, the row comes back with changeType: PRICE_DROP, previousPrice and priceDelta.

Can I integrate Facebook Marketplace Scraper with other apps?

Yes: Make, Zapier, n8n, Google Sheets, Slack and more via Apify integrations, or webhooks that fire when a run finishes.

Can I use Facebook Marketplace Scraper with the Apify API?

Yes. Start runs, read datasets and manage schedules with apify-client for Node.js or Python; the API tab has ready-to-paste code.

Can I use Facebook Marketplace Scraper through an MCP server?

Yes. Open the MCP tab, connect your MCP client (Claude Desktop, Cursor and others) and ask for Marketplace listings in plain language. compact: true keeps each row to the core fields.

Do I need a Facebook account, cookies or an API key for Facebook Marketplace Scraper?

No. The actor reads what Marketplace shows any visitor; you give a keyword, a place or a URL and nothing else. It uses Apify's residential proxy by default because Facebook sends datacenter IPs to its login page.

Can Facebook Marketplace Scraper scrape cars and rentals?

Yes. Pick the Vehicles, Property Rentals or Home Sales category (with or without a keyword) and turn on listing details for year, make, model, mileage and transmission, or beds, baths, street and walk score.

Why did my Facebook Marketplace Scraper run return no results?

Usually the filters are too narrow (price window, condition, last 24 hours), the location was not found (write City, State), or monitor mode found nothing new since the last run. The status message and the RUN_SUMMARY record say which.

How is Facebook Marketplace Scraper different from other Marketplace scrapers?

It keeps the field names of the largest Marketplace scrapers and adds flat fields (price as a number, currency, discount %, distance, listing age), a price-drop monitor, exact radius, vehicle and property blocks, and keyword filters, at $0.40 per 1,000 listings with no start fee.

Facebook Marketplace Scraper extracts only publicly available listing data and does not log in. Results can still contain personal data, which laws such as the GDPR protect, so make sure you have a legitimate reason before you use it.

Your feedback

We keep improving Facebook Marketplace Scraper. Found a bug or missing a field? Open an issue on the Issues tab and we will get back to you.