Facebook Marketplace Scraper — No Login Required avatar

Facebook Marketplace Scraper — No Login Required

Under maintenance

Pricing

from $2.00 / 1,000 listing extracteds

Go to Apify Store
Facebook Marketplace Scraper — No Login Required

Facebook Marketplace Scraper — No Login Required

Under maintenance

Extract listings from Facebook Marketplace by location. No login or cookies needed. Supports geo-targeted search, category filtering, price range, and keyword search.

Pricing

from $2.00 / 1,000 listing extracteds

Rating

0.0

(0)

Developer

Crowd Pull

Crowd Pull

Maintained by Community

Actor stats

6

Bookmarked

637

Total users

44

Monthly active users

1.6 hours

Issues response

10 days ago

Last modified

Share

CrowdPull FB Marketplace Scraper

Extract listings from Facebook Marketplace worldwide — no login or cookies required.

No browser automation — just fast, lightweight HTTP requests using Facebook's internal GraphQL API. Works with any location Facebook Marketplace supports.

Features

  • No login required — extracts listings anonymously from public marketplace
  • Works worldwide — any city Facebook Marketplace supports (US, Europe, Asia, Latin America, etc.)
  • Two input modes — paste marketplace URLs directly, or enter a city/neighborhood name
  • Keyword search — filter by product name, category, or description
  • Category URLs — paste category-specific URLs (e.g., /marketplace/chicago/home-improvements)
  • Price filtering — set minimum and maximum price thresholds
  • Multi-URL support — scrape multiple locations or categories in a single run
  • Smart Scrape (dedup) — skip listings already scraped in previous runs
  • Date filtering — set untilDate to only extract listings from a specific date onward
  • Strict filtering — exclude broad matches and listings from outside the target location
  • Position tracking — each listing includes its original position in the search results
  • Full listing data — title, price, location, image, condition, delivery options
  • Rich detail mode — enable includeDetails for full description, all photos, vehicle specs (make, model, odometer, colors), and listing status
  • Pagination — automatically loads all results via Relay cursors
  • No browser — lightweight HTTP requests only, minimal compute cost

Smart Scrape: How It Saves You Money

Enable Smart Scrape to skip listings you've already extracted. The scraper maintains a persistent cache per location that survives across runs indefinitely.

Without Smart ScrapeWith Smart Scrape
Run 1 (100 listings)100 extracted100 extracted
Run 2 (20 new)100 extracted20 new + 80 cache checks
Run 3 (20 new)100 extracted20 new + 80 cache checks
Monthly (daily runs)3,000 extracted~700 extracted + ~2,300 cache checks
Savings—~60% cheaper

Refresh Window

Set refreshWindowDays to re-check recent listings for price changes. For example, refreshWindowDays: 7 re-scrapes listings from the last 7 days even if cached, so you always get fresh pricing data.

Version 1.5 reads both Facebook’s offset price fields and its decimal amount field without rounding or guessing from formatted text. Smart Scrape rechecks existing cached listings once to repair prices produced by the older parser; these newly delivered rows incur the normal extraction charge. Subsequent runs use the updated cache as usual. Existing exported datasets are not rewritten.

What you get per listing

FieldDescription
listingIdUnique Facebook listing ID
titleListing title
pricePrice in hundredths of the local currency (e.g., 250000 = $2,500.00; 50000 = ฿500.00). null if no valid numeric amount is available; explicit free prices remain 0.
priceFormattedHuman-readable price (e.g., "$2,500")
currencyCurrency code (USD, EUR, GBP, THB, etc.) when available
locationCity and state where the item is listed
listingUrlDirect link to the listing
imageUrlPrimary listing image URL
createdAtISO 8601 timestamp of listing creation
sellerNameSeller's display name (when available)
sellerIdSeller's Facebook ID (when available)
sellerTypeAccount type (User, Page, etc.)
conditionItem condition (new, used, etc.)
availabilityListing status
deliveryTypesAvailable delivery/shipping methods
positionOriginal position in search results feed
sourceUrlThe marketplace URL that was scraped
scrapedAtISO 8601 timestamp of extraction

Detail fields (when includeDetails is enabled)

FieldDescription
descriptionFull listing description text
allPhotosArray of all photo URLs (not just the primary)
isSoldWhether the listing has been sold
isPendingWhether the listing is pending sale
inventoryCountQuantity available (for multi-item listings)
vehicleMakeVehicle make (e.g., "Chevrolet")
vehicleModelVehicle model (e.g., "Monte Carlo")
vehicleYearVehicle model year
vehicleOdometerMilesOdometer reading in miles
vehicleExteriorColorExterior color
vehicleInteriorColorInterior color
vehicleFuelTypeFuel type
vehicleConditionVehicle condition
vehicleNumberOfOwnersNumber of previous owners
vehicleSellerTypeDealer or private seller
vehicleEngineSizeEngine displacement
vehicleGasMileageFuel economy (combined or city)

How it works

  1. Parses your input — marketplace URLs are used directly; location names are resolved to Facebook Place IDs via the internal typeahead API for accurate geo-targeting
  2. Fetches the marketplace page anonymously via TLS-fingerprinted HTTP
  3. Extracts authentication tokens (lsd, datr) and location coordinates from the page SSR data
  4. Parses search-filtered listings from page HTML (SSR) for page 1, then queries GraphQL for pagination
  5. Paginates via Relay cursors until maxListings reached or feed exhausted
  6. Optionally enriches each listing with detail page data (description, photos, vehicle specs)
  7. Deduplicates against cache if Smart Scrape is enabled

Input examples

Paste marketplace URLs (power users)

{
"marketplaceUrls": [
"https://www.facebook.com/marketplace/chicago",
"https://www.facebook.com/marketplace/chicago/search/?query=furniture"
],
"maxListings": 100
}

Enter location + search (quick start)

{
"location": "São Paulo",
"searchQuery": "furniture",
"maxListings": 50
}

With listing details (rich data)

{
"marketplaceUrls": [
"https://www.facebook.com/marketplace/chicago/vehicles"
],
"maxListings": 25,
"includeDetails": true
}

Smart Scrape (incremental monitoring)

{
"marketplaceUrls": [
"https://www.facebook.com/marketplace/chicago"
],
"maxListings": 100,
"enableDedup": true,
"refreshWindowDays": 7
}

Output example

{
"listingId": "1731225464511434",
"title": "2001 Chevrolet Monte Carlo · SS Coupe 2D",
"price": 250000,
"priceFormatted": "$2,500",
"currency": "USD",
"location": "Buffalo Grove, Illinois",
"listingUrl": "https://www.facebook.com/marketplace/item/1731225464511434/",
"imageUrl": "https://scontent-det1-1.xx.fbcdn.net/v/...",
"createdAt": "2026-02-25T18:00:00.000Z",
"sellerName": "",
"sellerId": "",
"sellerType": "",
"condition": null,
"availability": null,
"deliveryTypes": ["LOCAL_PICK_UP"],
"description": "2001 Monte Carlo SS, runs great, clean title. 157K miles.",
"allPhotos": ["https://scontent-det1-1.xx.fbcdn.net/v/photo1...", "https://scontent-det1-1.xx.fbcdn.net/v/photo2..."],
"isSold": false,
"vehicleMake": "Chevrolet",
"vehicleModel": "Monte Carlo",
"vehicleYear": 2001,
"vehicleOdometerMiles": 157857,
"vehicleExteriorColor": "red",
"vehicleCondition": "USED",
"sourceUrl": "https://www.facebook.com/marketplace/chicago",
"scrapedAt": "2026-03-05T12:00:00.000Z"
}

Detail fields (description, allPhotos, vehicle specs, etc.) are only populated when includeDetails is enabled.

Other CrowdPull Facebook scrapers

Cost estimate

This Actor uses no browser — just lightweight HTTP requests.

PPE EventDescriptionCost
actor-startOne-time per run$0.005
listing-extractedPer listing pushed to datasetPer-1K pricing (see Store)
listing-detailsPer listing enriched with detail page dataPer-1K pricing (see Store)
cache-checkPer listing skipped by Smart ScrapeReduced rate (see Store)

A typical run extracting 100 listings costs ~$0.01-0.03 in platform fees. With includeDetails enabled, add ~$0.03/100 listings for detail enrichment.

Use cases

  • Market research — analyze local pricing trends for specific product categories
  • International price comparison — compare marketplace prices across cities and countries
  • Competitive intelligence — monitor competitor inventory and pricing
  • Arbitrage — find underpriced items across locations for resale
  • Lead generation — extract seller data from niche product categories
  • Price monitoring — track price changes over time with Smart Scrape
  • Real estate — monitor furniture/appliance listings near rental properties

This Actor extracts publicly visible data from Facebook Marketplace. Here are the key legal considerations:

  • Public data: Only publicly listed items are accessible. No private or restricted content is extracted.
  • No authentication by default: The scraper works anonymously without any Facebook account, accessing only what any visitor can see.
  • Terms of Service: Web scraping of public data has been upheld in multiple court rulings (hiQ Labs v. LinkedIn, 2022). However, Facebook's Terms of Service restrict automated data collection. Use this tool responsibly and in compliance with applicable laws.
  • GDPR/CCPA: Extracted data may contain seller names and profile IDs. If you process this data in the EU/EEA or for California residents, ensure you have a lawful basis under GDPR/CCPA.
  • Rate limiting: The scraper includes built-in delays and respects Facebook's rate limits to minimize server impact.

You are responsible for ensuring your use of this data complies with all applicable laws and regulations in your jurisdiction.

Limitations

  • doc_id may rotate when Facebook redeploys — report issues if extraction stops
  • Facebook rate limits apply; residential proxies recommended
  • Anonymous mode may return fewer results than authenticated browsing
  • Price filtering depends on Facebook's GraphQL variable support (may vary by region)
  • includeDetails adds ~1 second per listing (detail page fetch + rate limiting)
  • Seller data (name, ID) is not available in anonymous mode on detail pages
  • Location resolution uses Facebook's internal typeahead API as a hint, but scraping uses city slugs because numeric/ZIP Marketplace paths can drop location scoping

Run status and supported locations

If every target fails, the run is marked Failed and the reasons are written to FAILED_TARGETS and SUMMARY. Useful output with later failures has SUMMARY.status: partial. Verified empty feeds and runs containing only already-cached listings can succeed with zero new rows.

Use a named city URL or enter a city and country in location. Direct numeric Marketplace IDs and ZIP paths are refused because their location cannot be verified; clear marketplaceUrls when using location. Alternate city names are accepted only with matching geographic evidence.

Requests, retries and setup use the configured Apify deadline, reserving time for diagnostics. A deadline stop may produce partial output.

Reliability update — September 21, 2026

Deadline stops preserve listings already fetched, including a batch interrupted during detail enrichment. Only successfully stored rows with completed requested details enter Smart Scrape; cache progress is saved on bounded stops. Unexpected crashes fail the run while keeping earlier dataset rows. Partial-target counters include interrupted targets.

Supply either Marketplace URLs or Location. Supplying both now fails before fetching, and the form no longer inserts Chicago URLs automatically. A Search Query can still refine either input mode.