Facebook Marketplace Scraper - $1.20/1K Listings avatar

Facebook Marketplace Scraper - $1.20/1K Listings

Pricing

from $7.00 / 1,000 results

Go to Apify Store
Facebook Marketplace Scraper - $1.20/1K Listings

Facebook Marketplace Scraper - $1.20/1K Listings

Scrape Facebook Marketplace listings, item details, photos, prices, GPS coordinates, and vehicle attributes over fast public HTTP. No login or browser required.

Pricing

from $7.00 / 1,000 results

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

0

Monthly active users

5 days ago

Last modified

Share

Facebook Marketplace Scraper

Thirdwatch portfolio: 5K users across 88 public Actors, 2M+ records delivered, and >99% 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 the public Facebook Marketplace Relay data directly over HTTP. It does not launch a browser, require a Facebook login, or 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 do not pay the much higher network cost of downloading 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?

  • Public HTTP extraction: no browser startup, Facebook credentials, or user cookies
  • 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
  • Low price: from $0.70 to $1.20 per 1,000 listings, depending on your Apify tier

Quick start

Search for listings in New York:

{
"queries": ["used sofa", "standing desk"],
"location": "nyc",
"maxResultsPerQuery": 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/"}
],
"maxResultsPerQuery": 100
}

Input options

FieldDescriptionDefault
queriesMarketplace keywords to searchused sofa
locationMarketplace URL location slug such as nyc, london, or sydneynyc
searchUrlsExisting Marketplace search or category URLs
startUrlsDirect item, search, or category URLs
maxResultsPerQueryMaximum unique results per query or URL, up to 1,00050
includeDetailsEnrich descriptions, photos, coordinates, attributes, and vehiclesfalse
minPrice / maxPricePrice filters
radiusKmSearch radius from 1 to 500 km65
sortByRelevance, newest, price ascending, or price descendingrelevance
itemConditionAny, new, like new, good, or fairany
daysSinceListedAny time, 1 day, 7 days, or 30 daysany
deliveryMethodAll, local pickup, or shippingall
monitoringModeReturn only listing IDs not seen in previous runsfalse
monitoringKeyOptional stable key that isolates one monitor's historyderived from searches

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.

FieldMeaning
id, item_urlFacebook listing ID and canonical Marketplace URL
title, descriptionListing title and full public description
price, currency, formatted_priceCurrent numeric and display price
original_price, formatted_original_pricePrevious price when Facebook exposes one
location, city, statePublic listing location
latitude, longitudePublic item coordinates when exposed
condition, attributesCondition and other listing attributes
primary_image_url, photos, photo_countMain image and full photo gallery
delivery_typesPickup and shipping options
creation_time, created_atListing publication time, when Facebook exposes it
is_live, is_sold, is_pendingListing status flags
vehicleMake, model, trim, odometer, transmission, fuel, VIN, colors, title status, specifications, and features when disclosed
source_query, searched_location, search_urlSource and reproducibility metadata
scraped_atUTC 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.

Public-data limitations

Facebook changes its public Marketplace interface without notice. Some regions, listings, or fields may require a logged-in Facebook session and therefore cannot be returned by an anonymous public-data Actor. Seller identity is commonly withheld from anonymous visitors; this Actor returns seller: null rather than claiming unavailable private data. VIN and some vehicle fields appear only when the seller discloses them.

The Actor accesses public pages only. Use the data in accordance with applicable laws and Facebook's terms, and avoid collecting personal data without a lawful purpose.

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

  • Results reflect the public source at run time; removed or restricted items disappear between runs.
  • Fields that are not publicly disclosed stay empty rather than being guessed.
  • Use public data lawfully and respect applicable privacy and platform rules.

Last verified: 2026-09

More scrapers at thirdwatch.dev.