FB Marketplace Scraper - Search, Vehicles & Listing Details avatar

FB Marketplace Scraper - Search, Vehicles & Listing Details

Pricing

from $2.00 / 1,000 listing items

Go to Apify Store
FB Marketplace Scraper - Search, Vehicles & Listing Details

FB Marketplace Scraper - Search, Vehicles & Listing Details

High-performance Facebook Marketplace Scraper! Extract listings across Vehicles, Electronics & Real Estate using keywords or location. Supports direct item URLs, full listing detail hydration, vehicle specifications, and seller profiles. Fast and perfect for data extraction

Pricing

from $2.00 / 1,000 listing items

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share


🚗 Facebook Marketplace Scraper – Search, Details, Vehicles & Deals

Extract detailed public Facebook Marketplace listings — titles, prices, descriptions, locations, GPS coordinates, seller profiles, ratings, vehicle specifications, high-res photos, and deal signals — directly from Facebook Marketplace across all categories. Includes an automated Search & Radius builder and deal monitoring mode. No login required. Residential proxy ready. Pay per successful result — just $2.00 per 1,000 listings.


💡 What is the Facebook Marketplace Scraper?

This actor extracts public listing data from Facebook Marketplace by fetching and parsing search pages and individual listing item pages (https://www.facebook.com/marketplace/item/{id}/) using a high-performance Chrome browser engine with advanced stealth and anti-bot evasions. It uses a multi-strategy parser and Relay JSON extractor so it keeps working reliably:

  1. SSR GraphQL Relay Extraction — discovers and parses server-rendered ScheduledServerJS and RelayPrefetchedStreamCache payloads directly embedded in Facebook's public page response (richest data: exact prices, IDs, vehicle specifications, safety ratings, coordinates, sellers).
  2. Multi-Node Fragment Merging — merges disparate GraphQL stream fragments for the same listing ID to ensure that titles, full descriptions, photos, and seller ratings are unified without data loss.
  3. Automated Search & Radius Builder — generates canonical Marketplace search URLs from your search keyword, target city slug (e.g. nyc, losangeles, london), and customizable kilometer radius.

On top of standard marketplace attributes, the actor extracts full vehicle specifications (make, model, trim, transmission, mileage, safety ratings, vehicle features), seller profile info (name, seller ID, avatar, join year, ratings), and multi-angle gallery photos, making it ideal for automotive dealerships, price monitoring, market research, and e-commerce arbitrage.

No Facebook login, no password, and no cookies required. You are charged only for successful listing extractions — empty results, blocked attempts, or invalid URLs incur no cost.


🚀 Key Features

FeatureDescription
Keyword & Location BuilderSearch any keyword (e.g. toyota rav4, iphone 15, sofa) with any city slug and custom kilometer radius.
Direct Listing & Search URLsScrapes whole search/category pages or individual listing item URLs (e.g. facebook.com/marketplace/item/123456789/).
All Marketplace CategoriesFull support for Vehicles, Electronics, Real Estate, Classifieds, Home Goods, and Apparel.
Full Vehicle SpecsExtracts make, model, trim, mileage/odometer, exterior/interior colors, transmission, VIN, vehicle features, and NHTSA safety ratings.
Seller Profile & Trust MetricsPulls seller display name, user ID, profile avatar, join year, ratings summary, and delivery types (IN_PERSON, SHIPPING).
High-Resolution PhotosCaptures primary and full multi-photo gallery arrays (listing_photos) with native resolutions, captions, and CDN URIs.
Strict Geo-FilteringEliminates broad-match or sponsored listings located outside your target radius.
Deal Monitoring (onlyNewListings)Cache-based deduplication across scheduled runs — emits only brand-new listings or price/availability changes.
Date Cutoff (untilDate)Automatically stops crawling when listings become older than your specified target date (YYYY-MM-DD).
No Login RequiredOperates 100% publicly without personal accounts, Facebook login, or cookies.
Residential Proxy ReadyAutomatically integrates with Apify's RESIDENTIAL proxy network matching the target marketplace country.
Pay Per Success & Spending LimitCharged only per successful item. Automatically halts when your configured Apify PPE spending limit is reached.
Clean, Structured JSONDelivers normalized camelCase and snake_case attributes ready for CRM, database import, or Excel/CSV export.

📥 Input Parameters

ParameterTypeRequiredDefaultDescription
urlsarrayNo[]List of Marketplace search URLs (e.g. /marketplace/nyc/vehicles) or direct item URLs (/marketplace/item/123456789/).
searchKeywordstringNo""Search keyword (e.g. "toyota", "iphone 15", "leather sofa"). Used with location to build search URL.
locationstringNo"nyc"Facebook Marketplace city slug (e.g. "nyc", "sanfrancisco", "losangeles", "miami", "chicago", "london", "toronto").
radiusKmintegerNo50Search radius in kilometers.
getListingDetailsbooleanNofalseVisit each item's detail page for full descriptions, vehicle specs, and gallery photos. Leave false for lightning-fast scrapes.
getAllListingPhotosbooleanNotrueWhen getListingDetails is enabled, fetch all multi-angle gallery photos. Set to false to reduce request overhead.
strictFilteringbooleanNotrueExclude broad-match or sponsored items outside your target location radius.
onlyNewListingsbooleanNofalseEnable deal monitoring mode to emit only new listings or price changes.
untilDatestringNo""Stop crawling when listings are older than YYYY-MM-DD.
maxItemsintegerNo50Maximum number of listings to collect and push.
proxyobjectNoResidentialProxy configuration. Apify Residential proxies matching the target country are recommended.

Example Input (Keyword Search & Location)

{
"searchKeyword": "toyota",
"location": "nyc",
"radiusKm": 50,
"getListingDetails": false,
"maxItems": 20
}

Example Input (Category / Search URL)

{
"urls": [
{
"url": "https://www.facebook.com/marketplace/nyc/vehicles"
}
],
"getListingDetails": true,
"getAllListingPhotos": true,
"maxItems": 10
}

Example Input (Direct Listing Item URL)

{
"urls": [
{
"url": "https://www.facebook.com/marketplace/item/1663448518713696/"
}
],
"getListingDetails": true
}

📤 Output Fields

Each successful listing is pushed to the default dataset with the following fields:

FieldTypeDescription
idstringUnique Facebook Marketplace listing ID.
marketplace_listing_titlestringClean listing title.
custom_titlestring or nullCustomized title or model display title.
formatted_pricestringFormatted listing price with currency symbol (e.g. "$11,888", "$225").
listing_priceobjectDetailed price breakdown (formatted_amount, amount, currency, amount_with_offset).
strikethrough_priceobject or nullOriginal price before discount/price drop, if applicable.
comparable_priceobject or nullEstimated fair market or comparable retail price.
conditionstringItem condition ("USED", "NEW", "USED_LIKE_NEW", "USED_GOOD").
descriptionstringFull plain-text listing description.
location_textstringCity and state text (e.g. "New York, NY", "Jersey City, NJ").
locationobjectDetailed location geocode, city page metadata, and GPS coordinates (latitude, longitude).
seller_namestringDisplay name of the Facebook seller.
seller_idstringFacebook user ID or profile ID of the seller.
marketplace_listing_sellerobjectExtended seller profile (avatar URLs, join time, seller rating statistics).
delivery_typesarray of stringsAvailable fulfillment methods (e.g. ["IN_PERSON"], ["SHIPPING"]).
vehicle_make_display_namestring or nullVehicle make (e.g. "Toyota", "Nissan", "Honda").
vehicle_model_display_namestring or nullVehicle model (e.g. "RAV4", "Camry", "Rogue").
vehicle_trim_display_namestring or nullVehicle trim package.
vehicle_transmission_typestring or nullTransmission type ("AUTOMATIC", "MANUAL").
vehicle_odometer_dataobject or nullMileage data with unit and numeric value (e.g. {"unit": "MILES", "value": 142000}).
vehicle_featuresarray of objectsVehicle features list (Leather Seats, Moon Roof, Navigation, Backup Camera).
vehicle_specificationsobjectDetailed vehicle specifications and NHTSA safety ratings.
primary_listing_photo_urlstringHigh-resolution primary photo CDN URL.
listing_photosarray of objectsArray of full-resolution listing photos with dimensions and captions.
creation_timeintegerUnix epoch creation timestamp.
creation_time_formattedstringISO 8601 formatted listing date.
is_livebooleanActive listing status.
is_soldbooleanSold status flag.
is_pendingbooleanPending sale flag.
urlstringCanonical Facebook Marketplace listing URL.
apify_charge_infoobjectPay-Per-Event billing audit object (listing_item, listing_item_details, seller_details).

Example Output

[
{
"id": "1663448518713696",
"marketplace_listing_title": "2013 Toyota RAV4 · Limited Sport Utility 4D",
"custom_title": "2013 Toyota RAV4 Limited Sport Utility 4D",
"formatted_price": "$11,888",
"listing_price": {
"formatted_amount": "$11,888",
"amount": "11888.00",
"currency": "USD"
},
"condition": "USED",
"description": "Clean title, excellent running condition, brand new tires, sunroof, heated seats, reverse camera.",
"location_text": "Rochelle Park, NJ",
"location": {
"city": "Rochelle Park",
"state": "NJ",
"latitude": 40.9084,
"longitude": -74.0729
},
"seller_name": "Ruslan Kho",
"seller_id": "pfbid025LVRGwD9a6QjVeSvW2Xbrv4Qj9VM6TXhPKDfV1QSsbX9xUN4AwbgjrV4bSBK4vTal",
"marketplace_listing_seller": {
"name": "Ruslan Kho",
"profile_picture": "https://scontent.fdac5-2.fna.fbcdn.net/v/t39.30808-1/....jpg",
"join_time": 1703161116
},
"delivery_types": [
"IN_PERSON"
],
"vehicle_make_display_name": "Toyota",
"vehicle_model_display_name": "RAV4",
"vehicle_trim_display_name": "Limited Sport Utility 4D",
"vehicle_transmission_type": "AUTOMATIC",
"vehicle_odometer_data": {
"unit": "MILES",
"value": 112000
},
"vehicle_features": [
{ "display_name": "Leather Seats", "feature_category": "SEATING" },
{ "display_name": "Moon Roof", "feature_category": "EXTERIOR" },
{ "display_name": "Backup Camera", "feature_category": "SAFETY" }
],
"vehicle_specifications": {
"safety_rating_overall": "4 Star Rating",
"safety_rating_front": "4 Star Rating"
},
"primary_listing_photo_url": "https://scontent.fpos1-1.fna.fbcdn.net/v/t39.30808-6/....jpg",
"listing_photos": [
{
"id": "1663448518713696",
"uri": "https://scontent.fpos1-1.fna.fbcdn.net/v/t39.30808-6/....jpg"
}
],
"creation_time": 1789563052,
"creation_time_formatted": "2026-10-14T15:47:02+00:00",
"is_sold": false,
"is_pending": false,
"is_live": true,
"url": "https://www.facebook.com/marketplace/item/1663448518713696/",
"apify_charge_info": {
"listing_item": true,
"listing_item_details": true,
"seller_details": true
}
}
]

💰 Pricing

MetricPrice
Per successful listing (listing-item)$0.002
Per 1,000 successful listings$2.00
Listing details hydration (listing-item-details)$0.001
Seller profile details (seller-details)$0.001
  • Pay-per-event: you are charged only when a listing is successfully extracted and pushed to the dataset.
  • Failed, blocked, or not-found items are free — zero charge.
  • Example: 1,000 base listings = $2.00. 10,000 base listings = $20.00.
  • Spending limit protection: the run automatically and gracefully stops as soon as your configured Apify pay-per-event spending limit is reached — no further listings are processed or charged.

🛠 How to Use on Apify

  1. Create a task with this actor in the Apify Console.
  2. Choose your input mode:
    • Keyword & Location: Enter searchKeyword (e.g. "toyota") and location (e.g. "nyc").
    • URLs: Paste Facebook Marketplace search links or direct item PDP URLs into urls.
  3. Set your scraping depth:
    • Leave getListingDetails: false for lightning-fast listing scrapes (~5-10 seconds).
    • Turn getListingDetails: true for full vehicle specs, descriptions, and seller details.
  4. Proxies are configured automatically — the actor uses Apify's RESIDENTIAL proxy group matching the target marketplace region.
  5. Run — the actor extracts listings and streams them directly into the default Dataset.
  6. Export — download your results as JSON, CSV, or Excel from the Dataset tab.

Running via API

curl -X POST "https://api.apify.com/v2/acts/your-username~facebook-marketplace-scraper/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"searchKeyword": "toyota rav4",
"location": "nyc",
"radiusKm": 50,
"getListingDetails": false,
"maxItems": 20
}'

🎯 Use Cases

Industry / Use CaseHow It Helps
Automotive Dealerships & Car SourcingTrack private vehicle sellers, monitor competitive prices across makes and models, and spot undervalue listings instantly.
E-Commerce & Flipping ArbitrageSource underpriced electronics (iPhones, MacBooks, GPUs, consoles) and vintage furniture for resale on eBay, Amazon, or Mercari.
Real Estate & Rental Market AnalysisAnalyze local rental trends, sublease prices, and property availability without relying on delayed third-party aggregators.
Price Monitoring & IntelligenceTrack price drops, historical inventory levels, and geographic price variations across different cities.
Brand Protection & Counterfeit DetectionMonitor unauthorized distributor listings and track trademark infringements in regional markets.
Academic & Market ResearchStudy local peer-to-peer commerce, second-hand market dynamics, and consumer pricing patterns.

❓ Frequently Asked Questions

1. Do I need a Facebook account or cookies? No. The actor operates 100% publicly on server-rendered Marketplace pages. No login, password, or cookies required.

2. Can I scrape listings from specific cities or countries? Yes. Set the location slug (e.g. nyc, losangeles, miami, chicago, london, toronto) and configure your proxy country to match your target marketplace region.

3. Why do I need residential proxies? Facebook restricts datacenter IPs and tailors results to geographic regions. Apify Residential proxies ensure accurate local search results and prevent blocks.

4. What is the difference between fast mode and detail mode? In fast mode (getListingDetails: false), the scraper extracts ~24 listings from the search page in under 10 seconds with titles, prices, locations, primary photos, and seller names. Detail mode (getListingDetails: true) visits individual item pages in parallel to retrieve full descriptions, vehicle specs, and gallery photos.

5. Am I charged for failed or empty runs? No. You are charged only for listings successfully captured and pushed to the dataset.

6. Can I monitor new deals or price drops? Yes. Enable onlyNewListings: true and schedule the actor to run every 15 minutes. It will only emit brand new listings or listings whose price or availability changed.

7. What happens when my spending limit is reached? The actor detects the pay-per-event spending limit and stops processing further listings gracefully, preventing accidental overspending.

8. Can I stop scraping listings older than a specific date? Yes. Set untilDate to a date string (YYYY-MM-DD). The scraper will stop once it encounters listings listed before that date.

9. How does it extract vehicle specifications? It parses Facebook's native GraphQL Relay payloads containing vehicle make, model, trim, mileage, safety ratings, and equipment features.

10. What if Facebook updates its page structure? The scraper uses recursive GraphQL Relay tree traversals and multi-strategy fallbacks, so changes in visual CSS classes do not break data extraction.


📝 Technical Notes

  • Target: https://www.facebook.com/marketplace/{location}/search?query=... and https://www.facebook.com/marketplace/item/{id}/.
  • Parsing Strategies: (1) SSR GraphQL Relay JSON tree crawler (find_marketplace_nodes_recursive), (2) Multi-fragment node merging (merge_marketplace_nodes), (3) Multi-tier price and geocode normalization.
  • Concurrency: Parallel detail hydration using asyncio.Semaphore(3) to process multiple listing details concurrently without bot flags.
  • Charging: Uses Apify's pay-per-event Actor.charge() for listing-item, listing-item-details, and seller-details with spending-limit protection.
  • Output: Clean, normalized dataset records pushed directly to the Apify default dataset.

🔍 SEO Keywords

facebook marketplace scraper, facebook marketplace api, scrape facebook marketplace, facebook marketplace crawler, facebook marketplace data extractor, facebook car scraper, facebook electronics scraper, facebook marketplace deal hunter, facebook marketplace arbitrage, apify facebook marketplace, facebook real estate scraper, facebook marketplace python, facebook vehicle scraper, facebook marketplace monitor, facebook marketplace price tracker


Start scraping Facebook Marketplace listings today — only $2 per 1,000 successful listings, with automated search building and vehicle specs extraction.