Facebook Marketplace Listings Scraper avatar
Facebook Marketplace Listings Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Facebook Marketplace Listings Scraper

Facebook Marketplace Listings Scraper

Extracts product listings from Facebook Marketplace search pages. Simply provide one or more Marketplace search URLs, and the Actor will automatically scrape all listing cards with titles, prices, locations, seller information, and optionally visit each listing's detail page to get full info

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

HappiTap

HappiTap

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

3

Monthly active users

8 days ago

Last modified

Share

What does Facebook Marketplace Listings Scraper do?

Facebook Marketplace Listings Scraper is an Apify Actor that extracts product listings from Facebook Marketplace search pages. Simply provide one or more Marketplace search URLs, and the Actor will automatically scrape all listing cards with titles, prices, locations, seller information, and optionally visit each listing's detail page to extract extended information like full descriptions, all photos, attributes, and seller details.

This Actor serves as a Facebook Marketplace API alternative for businesses, researchers, and developers who need to collect listing data at scale. Whether you're conducting market research, price monitoring, competitor analysis, or building a marketplace aggregation platform, this tool makes it easy to extract structured listing data from Facebook Marketplace.

The Actor handles pagination automatically, supports both fast card-based scraping and deep detail page scraping, and includes built-in anti-blocking measures to ensure reliable data collection.

Why use Facebook Marketplace Listings Scraper?

🚀 Platform Advantages

When you use Facebook Marketplace Listings Scraper on the Apify platform, you get more than just a scraper:

  • Monitoring & Scheduling - Set up automated runs to track listings over time
  • API Access - Integrate listing data directly into your applications via REST API
  • Proxy Rotation - Built-in proxy support with country selection to avoid rate limiting and IP blocks
  • Scalable Infrastructure - Handle large-scale scraping without worrying about server resources
  • Data Export - Download results in JSON, CSV, Excel, or HTML formats
  • Integrations - Connect with Zapier, Make, and other automation tools
  • Reliable Execution - Automatic retries, error handling, and graceful degradation for robust scraping
  • Pay-per-Event Pricing - Pay only for successfully scraped listings

💼 Business Use Cases

  • Price Monitoring - Track prices for specific products across different regions
  • Market Research - Analyze product availability, pricing trends, and market dynamics
  • Competitor Analysis - Monitor competitor listings and pricing strategies
  • Inventory Tracking - Keep track of available items in specific categories or locations
  • Data Aggregation - Build marketplace comparison platforms or price alert systems
  • Lead Generation - Collect seller information for business development
  • Trend Analysis - Identify popular products and emerging market trends

What data can Facebook Marketplace Listings Scraper extract?

The Actor extracts comprehensive listing data from Facebook Marketplace. Here's what you can get:

Core Fields (Always Present)

Data FieldDescriptionExample
IDUnique listing identifier"123456789"
URLCanonical listing URL"https://www.facebook.com/marketplace/item/..."
TitleListing title"Vintage Leather Jacket"
Price (Formatted)Formatted price string"$150"
Price (Numeric)Numeric price value150
CurrencyCurrency code"USD"
LocationLocation text"New York, NY"
Thumbnail URLMain image thumbnail"https://..."
Seller NameSeller's display name"John Smith"
Seller Profile URLLink to seller profile"https://www.facebook.com/..."
Is SoldWhether listing is soldtrue/false
Is PendingWhether listing is pendingtrue/false
Is LiveWhether listing is currently activetrue/false
Scraped AtISO timestamp"2024-12-31T12:00:00Z"

Extended Fields (Deep Scrape Only)

When deepScrape=true, the Actor also extracts:

Data FieldDescription
DescriptionFull listing description
All Photo URLsArray of all photo URLs
AttributesObject with listing attributes/features
Latitude/LongitudeGeographic coordinates (if available)
Delivery TypesAvailable delivery options (pickup, delivery, etc.)
Seller DetailsExtended seller information (join date, profile picture, etc.)

How to scrape Facebook Marketplace listings?

Scraping Facebook Marketplace listings with this Actor is straightforward:

  1. Get Started - Click "Try for free" to create an Apify account (no credit card required)
  2. Add Marketplace URLs - Enter one or more Facebook Marketplace search page URLs
    • Example: https://www.facebook.com/marketplace/nyc/cars/
    • Tip: Open URLs in incognito mode to verify they're publicly accessible
  3. Configure Settings (Optional):
    • Enable Deep Scrape to get detailed information from each listing page
    • Set Max Results to limit the number of listings (leave empty for all available)
    • Configure Proxy settings with country code matching your target region
    • Adjust Max Concurrency for faster/slower scraping
  4. Run the Actor - Click "Start" and wait for the Actor to collect all listings
  5. Download Results - Once finished, download your data in JSON, CSV, Excel, or HTML format

The Actor automatically handles pagination by detecting and following "Next" buttons or using scroll-based loading. It will continue until it reaches your specified limit or runs out of pages.

Video Tutorial

[Add YouTube video URL here if you create a tutorial]

How much does it cost to scrape Facebook Marketplace?

Facebook Marketplace Listings Scraper uses Apify's pay-per-event pricing model, which means you only pay for successfully scraped listings. This makes it cost-effective and predictable for both small and large-scale scraping projects.

Pricing Model: Pay per listing successfully stored in the dataset.

Free Plan: Get started with free Compute Units to test the Actor and scrape a few listings.

Cost Estimates:

  • Fast Mode (deepScrape=false): ~$0.001-0.01 per listing
  • Deep Scrape Mode (deepScrape=true): ~$0.01-0.05 per listing (more expensive due to additional page visits)

The exact cost depends on factors like:

  • Number of listings scraped
  • Whether deep scraping is enabled
  • Website response times
  • Proxy usage
  • Retry attempts

For example, scraping 1,000 listings in fast mode might cost approximately $1-10, while deep scraping the same 1,000 listings might cost $10-50.

The Actor tracks the number of successfully scraped listings and stores this in the run summary, so you can easily estimate costs before running large batches.

Input

Facebook Marketplace Listings Scraper has simple input options. Click on the Input tab for more information and to see the input interface.

Required Input

  • Marketplace Search URLs - One or more URLs of Facebook Marketplace search pages to scrape
    • Format: https://www.facebook.com/marketplace/[location]/[category]/
    • Or: https://www.facebook.com/marketplace/search/?query=...
    • Important: URLs must be publicly accessible (test in incognito mode)
    • You can add multiple URLs to scrape different searches in a single run

Optional Input

  • Deep Scrape - Enable to visit each listing's detail page for extended information (default: false)
  • Max Results - Limit the total number of listings to scrape (leave empty for all available)
  • Proxy Configuration - Configure proxy settings with country code (default: Apify Proxy enabled)
  • Max Concurrency - Number of pages to process concurrently (default: 10, range: 1-50)
  • Max Request Retries - Number of retry attempts for failed requests (default: 3)
  • Request Timeout - Timeout per page in seconds (default: 300, range: 30-3600)
  • Include Raw Data - Include raw HTML snippets for debugging (default: false)
  • Debug Logging - Enable verbose logging (default: false)

Input Example

{
"urls": [
"https://www.facebook.com/marketplace/nyc/cars/"
],
"deepScrape": false,
"count": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"countryCode": "US"
},
"maxConcurrency": 10
}

Output

You can download the dataset extracted by Facebook Marketplace Listings Scraper in various formats such as JSON, HTML, CSV, or Excel.

Output Example

Each listing in the dataset contains the following fields:

{
"id": "123456789",
"url": "https://www.facebook.com/marketplace/item/123456789",
"title": "Vintage Leather Jacket",
"priceFormatted": "$150",
"priceNumeric": 150,
"currency": "USD",
"locationText": "New York, NY",
"thumbnailUrl": "https://scontent.xx.fbcdn.net/...",
"sellerName": "John Smith",
"sellerProfileUrl": "https://www.facebook.com/profile.php?id=...",
"isSold": false,
"isPending": false,
"isLive": true,
"deepScrapeStatus": "skipped",
"scrapedAt": "2024-12-31T12:00:00.000Z"
}

With deepScrape=true, additional fields are included:

{
"description": "Beautiful vintage leather jacket in excellent condition...",
"allPhotoUrls": [
"https://scontent.xx.fbcdn.net/photo1.jpg",
"https://scontent.xx.fbcdn.net/photo2.jpg"
],
"attributes": {
"Condition": "Excellent",
"Brand": "Leather Co",
"Size": "Large"
},
"deliveryTypes": ["pickup", "delivery"],
"seller": {
"name": "John Smith",
"profileUrl": "https://www.facebook.com/..."
},
"deepScrapeStatus": "ok"
}

The dataset is structured as a flat JSON array, making it easy to import into databases, spreadsheets, or data analysis tools.

Tips for Best Results

🎯 Optimizing Performance

  • Use Fast Mode First - Start with deepScrape=false to quickly collect basic listing data
  • Set Max Results - Use the count limit to avoid unnecessary processing
  • Proxy Country - Match proxy country code to your target region for better results
  • Concurrency - Lower values (5-10) are more stable; higher values (15-20) are faster but may trigger blocking
  • Multiple URLs - Process multiple searches in parallel by adding multiple URLs

🔧 Advanced Usage

  • API Integration - Use the Apify API to trigger runs programmatically and fetch results
  • Scheduling - Set up scheduled runs to monitor listings over time
  • Webhooks - Configure webhooks to get notified when scraping completes
  • Data Transformations - Use Apify's data transformation features to filter or modify results
  • Request Queue - The Actor uses Apify's RequestQueue for efficient URL management and pagination. Learn more about RequestQueue.

⚡ Speed Optimization

The Actor uses PlaywrightCrawler for dynamic page rendering. For optimal performance:

  • Use fast mode (deepScrape=false) for speed
  • Set appropriate maxConcurrency based on your needs
  • Use count limit to stop early when you have enough data
  • Process multiple searches in parallel by running multiple Actor instances

🛡️ Anti-Blocking Strategies

The Actor includes several anti-blocking measures:

  • Proxy Rotation - Automatic proxy rotation via Apify Proxy
  • Session Management - Session pool with automatic rotation on detection of blocking
  • Randomized Delays - Small random delays between requests
  • Graceful Degradation - Continues with partial results if some pages are blocked
  • Retry Logic - Automatic retries with exponential backoff

Troubleshooting

Common Issues

"No listings found" or "0 listings extracted"

Possible causes:

  • URL requires login (test in incognito mode)
  • Page structure changed (Facebook updated their HTML)
  • Blocked by Facebook (check blocking detection in logs)

Solutions:

  • Verify URL is publicly accessible in incognito browser
  • Enable debug logging to see what selectors are being tried
  • Try different proxy country code
  • Reduce maxConcurrency to avoid rate limiting
  • Check if Facebook has updated their page structure

"Blocked: login_wall" or "Blocked: captcha"

Possible causes:

  • IP address is flagged by Facebook
  • Too many requests too quickly
  • Proxy not working correctly

Solutions:

  • Enable Apify Proxy with appropriate country code
  • Reduce maxConcurrency
  • Increase delays between requests
  • The Actor will retry automatically, but if blocking persists, try a different proxy country

"Deep scrape failed" for some listings

Possible causes:

  • Listing page requires login
  • Listing was deleted or made private
  • Page structure differs

Solutions:

  • The Actor saves basic listing data even if deep scrape fails
  • Check deepScrapeStatus field: "ok", "failed", or "skipped"
  • Enable debug logging to see specific errors
  • Partial results are better than no results

Slow scraping speed

Possible causes:

  • Deep scraping enabled (visits each listing page)
  • Low maxConcurrency setting
  • Network latency
  • Facebook rate limiting

Solutions:

  • Use fast mode (deepScrape=false) for speed
  • Increase maxConcurrency (but watch for blocking)
  • Use proxy closer to target region
  • Set count limit to stop early

Debug Mode

Enable debugLog=true in input to get verbose logging:

  • Detailed extraction attempts
  • Selector matching information
  • Error details for failed extractions
  • Blocking detection details

Enable includeRaw=true to include raw HTML snippets in output (for debugging page structure).

Our scrapers are ethical and do not extract any private user data, such as email addresses, phone numbers, or personal contact information beyond what users have chosen to share publicly on Facebook Marketplace. They only extract what is publicly visible on Marketplace listing pages. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data (such as seller names and profile links). Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read our blog post on the legality of web scraping.

Important:

  • Always respect Facebook's Terms of Service and robots.txt
  • Use reasonable request rates and avoid overloading their servers
  • The Actor includes built-in delays, proxy rotation, and rate limiting to be respectful of Facebook's infrastructure
  • Do not use scraped data for spam, harassment, or other unethical purposes
  • Be aware that Facebook may update their page structure, which could affect scraping results

FAQ

How many listings can I scrape?

There's no hard limit, but Facebook Marketplace typically displays 20-50 listings per page. The Actor will automatically paginate through all available pages until it reaches your count limit or runs out of pages. For very large searches, consider setting a reasonable count limit.

Can I scrape listings from multiple searches?

Yes! Simply add multiple Marketplace URLs to the urls array. The Actor will process each search independently and combine all results into a single dataset.

What's the difference between fast mode and deep scrape?

  • Fast Mode (deepScrape=false): Extracts data from listing cards on search pages. Faster and cheaper, but limited to basic information (title, price, location, thumbnail, seller name).
  • Deep Scrape (deepScrape=true): Also visits each listing's detail page to extract full description, all photos, attributes, and extended seller information. Slower and more expensive, but provides comprehensive data.

What if I get blocked by Facebook?

The Actor includes several anti-blocking measures:

  • Automatic proxy rotation
  • Session management with rotation on blocking detection
  • Randomized delays
  • Retry logic

If blocking persists:

  • Try a different proxy country code
  • Reduce maxConcurrency
  • Enable Apify Proxy (default)
  • The Actor will continue with partial results even if some pages are blocked

Can I use this as a Facebook Marketplace API?

Yes! This Actor serves as an alternative to a Facebook Marketplace API. You can trigger runs via the Apify API and retrieve results programmatically. Check the API tab for integration examples.

How accurate is the extracted data?

The Actor extracts data directly from Facebook Marketplace's HTML structure. Accuracy depends on Facebook's page structure remaining consistent. If you notice missing or incorrect data:

  • Enable debug logging to see extraction attempts
  • Check if Facebook has updated their page structure
  • Report issues in the Issues tab

Do I need coding skills to use this Actor?

No! The Actor is designed to be used through the Apify Console interface. Simply paste Marketplace URLs and click "Start". However, if you want to integrate it programmatically, basic API knowledge is helpful.

How do I integrate this with my application?

You can integrate Facebook Marketplace Listings Scraper with your application using:

  • Apify API - RESTful API for triggering runs and fetching results
  • Webhooks - Get notified when scraping completes
  • Zapier/Make - No-code automation platforms
  • Python/JavaScript SDKs - Official Apify SDKs for programmatic access

Check the Integrations tab for more details.

Why does the Actor use PlaywrightCrawler?

Facebook Marketplace uses dynamic JavaScript rendering, so a plain HTTP scraper (like Cheerio) cannot access the content. PlaywrightCrawler uses a real browser to render pages, making it possible to extract data from dynamic content. Learn more about PlaywrightCrawler.

Known Limitations

  • Some listings may require login to view (will be skipped)
  • Page structure changes by Facebook may require Actor updates
  • Deep scraping is slower and more resource-intensive
  • Very large result sets may take significant time
  • Some seller information may not be publicly available

If you encounter any issues or have suggestions for improvements, please use the Issues tab to report them. We're open to feedback and continuously improving the Actor.

Need a Custom Solution?

If you need a customized version of this Actor or additional features, feel free to reach out. We can create a tailored solution based on your specific requirements.

Support

  • Documentation - Check the Apify documentation for general Actor usage
  • Issues - Report bugs or request features in the Issues tab
  • Community - Join the Apify community for discussions and support
  • Blog - Read our blog for tutorials and best practices on web scraping

Ready to start scraping Facebook Marketplace listings? Click "Try for free" to get started with your first run!