Site scraper

Facebook Marketplace Scraper: Public Listings via API

HTTP $0.50JS rendering $2.00 per 1,000 results or your own scraper from $1.95/GB

ProxyField's Web Scraping API fetches the Facebook Marketplace pages that logged-out visitors can see, such as search results for a city and single listings, for $2.00 per 1,000 successful results with JS rendering, from $1.00 at volume. There is no separate Marketplace API and no logged-in scraping: you send a public Marketplace URL, get the rendered page back and pay only for successful results; to start, contact sales, or run your own scraper on ProxyField residential proxies with the Easy Trial: 1 GB for $2.95.

Web Scraping API per 1,000 successful results
Web Scraping API prices per 1,000 successful results
FetchEntryVolume, from
HTTP$0.50$0.20
JS rendering$2.00$1.00

Billed on successful results only.

Your own scraper on residential proxies
from $1.95/GB Easy Trial: 1 GB for $2.95
gate.proxyfield.io:7000
Data

Facebook Marketplace data on public pages

Facebook Marketplace is a local classifieds board: people and shops list items for sale near them, and buyers search by place, category and price. In many countries a logged-out visitor can open search results and single listings, but Facebook soon asks them to log in, and what it shows without a login changes often.

Page typeExample URLWhat a logged-out visitor usually sees
City searchfacebook.com/marketplace/<city>/search?query=<term>Title, price, location and photo of each listing, a link to each item
Category pagefacebook.com/marketplace/<city>/<category>Listings in one category, such as vehicles or furniture
Listing pagefacebook.com/marketplace/item/<id>Title, price, condition, description, location, time listed, photos, the seller's public name
Vehicle listingthe same item URLMake, model, year, mileage, transmission where the seller filled them in

Messages, saved items, your own listings and seller profiles beyond the public name need a login and are out of scope. Most sellers are private people, so their names and photos are personal data. The API returns the page itself as HTML, Markdown or plain text, or a JSON envelope with the status code, the final URL, the headers, the cookies and the content; it has no parsed Marketplace fields, so your parser reads them.

How it works

How the Web Scraping API fetches a Marketplace page

Facebook builds Marketplace pages in the browser, so send Marketplace URLs with JS rendering on; the API returns the rendered page. The API takes a POST to https://api.proxyfield.io/v1/scrape with your API key in an Authorization: Bearer <api_key> header and a JSON body: url, render (false for plain HTTP, true for JS rendering), country and output (html, markdown, text or json). Because the page is built in the browser, wait_for takes a CSS selector the rendered page must show before it is returned. Parameter reference: API documentation.

Shell
# The request the Web Scraping API takes (access through Contact sales)
curl https://api.proxyfield.io/v1/scrape \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.facebook.com/marketplace/nyc/search?query=road%20bike", "render": true, "country": "us", "output": "json"}'

Example response (shortened; content is the rendered page's HTML):

JSON
{
  "metadata": {"id": "req_8e2b5f07a4c3d916", "api": "web_scrape", "status": "success", "billed": true},
  "status_code": 200,
  "final_url": "https://www.facebook.com/marketplace/nyc/search?query=road%20bike",
  "content_type": "text/html; charset=utf-8",
  "content": "<!DOCTYPE html><html lang=\"en\">…</html>"
}
ChoicePrice per 1,000 successful resultsUse it for
JS rendering$2.00, from $1.00 at volumeCity searches, category pages and listing pages
Plain HTTP$0.50, from $0.20 at volumeA listing's title, description and image from its link preview tags

Facebook shows a limited first screen of results to logged-out visitors, so plan on many narrow searches (one term, one city, one price band) rather than one long scroll.

Pricing

Pricing: $2.00 per 1,000 Marketplace pages, from $1.00

Marketplace pages cost the Web Scraping API's JS rendering price: $2.00 per 1,000 successful results, from $1.00 at volume; pages that need no browser cost $0.50 per 1,000, from $0.20. You pay only for successful results. The volume prices start at 10,000 successful results in one purchase.

Billed: a page Facebook answered with a 2xx status. Not billed: blocked requests, timeouts and errors on our side; a blocked request is retried on new IPs, and the retries are not billed. Every response says whether it was billed. A target's 404 or 410, and a sign-in page the site serves with a 200 status, count as billed results. Contact sales through the sales team on our 24/7 live chat.

Payment and balance: the same crypto balance as proxies, which never expires; there is no subscription or monthly fee. All prices: pricing.

Through the sales team on our 24/7 live chat

Workload (30-day month)
Workload (30-day month), Results, JS rendering at $2.00, JS rendering at $1.00 (volume)
Workload (30-day month)ResultsJS rendering at $2.00JS rendering at $1.00 (volume)
100 searches (term × city), once a day3,000$6$3
50 searches, 4 times a day6,000$12$6
10,000 listing pages10,000$20$10
Compare

Is there a Facebook Marketplace API?

Not for reading listings. As far as we found, Meta's APIs let approved partners, such as dealers' and retailers' catalog tools, publish their own inventory, and Meta's research tools cover public Pages and posts, not Marketplace listings. Anyone who wants to study Marketplace prices reads the public pages, by hand or with a scraper.

Location decides what you see

Marketplace is local: a search shows listings near the place in the URL or the visitor's location, within a radius. To collect what buyers in a city see, put the city in the URL and send the request from the same country, or the same city with your own scraper: ProxyField residential proxies offer targeting by country, region (state) and city, with 61.2M+ residential IPs in the United States across all 50 states and 2,800+ cities. On a Web Scraping API request, country sets the country the request comes from (the exit IP), as a two-letter code such as us; the countries it accepts: the proxy pool's 195+ countries.

Good to know

Why Marketplace scraping breaks

Three things break Marketplace scrapers. Facebook interrupts logged-out visitors with a login prompt after a short scroll; it changes the page structure often, so selectors stop matching; and it blocks fast or datacenter traffic. Read the first screen of many narrow searches instead of scrolling far, check your parser on a sample every week, and with your own scraper rotate residential IPs and keep the rate low. Never solve the problem with fake accounts: they are forbidden under ProxyField's acceptable use policy.

Use cases

What teams use Marketplace data for

  • Resale pricing what used phones, furniture or tools sell for in a city, to price your own stock.
  • Used car research asking prices by make, model, year and mileage across cities.
  • Market research which categories have the most listings and how prices move by season.
  • Brand protection counterfeit or grey-market listings of your own products.

Not allowed on ProxyField: spam, fraud including fake accounts or engagement, and accessing data behind logins you are not entitled to. Messaging sellers or managing your own seller accounts is a different job: Facebook proxies.

Do it yourself

Scrape Facebook Marketplace with Python and ProxyField proxies

This script opens one Marketplace search in a real browser through a residential IP in the same city and prints the listing ids and prices on the first screen. It stops at a login prompt instead of signing in.

Python
import re
from playwright.sync_api import sync_playwright

URL = "https://www.facebook.com/marketplace/nyc/search?query=road%20bike"

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://gate.proxyfield.io:7000",
        "username": "<login>-country-us-city-new_york",
        "password": "<password>"})
    page = browser.new_page(locale="en-US")
    page.goto(URL, wait_until="networkidle", timeout=90_000)
    html = page.content()
    items = sorted(set(re.findall(r"/marketplace/item/(\d+)", html)))
    prices = re.findall(r"\$\d[\d,]*", page.inner_text("body"))
    print(len(items), "listings:", items[:5])
    print("prices seen:", prices[:10])
    browser.close()

Access opens once the payment is confirmed; the gateway, credentials or allowlist are in your account. Username syntax beyond country and city: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default) after the location, as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600. Residential proxies cost $2.95/GB for 1 GB and from $1.95/GB at volume, with no subscription; the traffic never expires, and all purchases are final. More on browser automation: Playwright.

FAQ

Facebook Marketplace Scraper FAQ

24/7 support by live chat, including help with setup and integration.

What is a Facebook Marketplace scraper?

ProxyField's Web Scraping API works as a Facebook Marketplace scraper: it loads public Marketplace searches and listings with JS rendering for $2.00 per 1,000 successful results, from $1.00 at volume, and returns the pages for your parser. In general, a Marketplace scraper is any tool that collects listing titles, prices, locations and dates from those public pages.

How do I scrape Facebook Marketplace?

Build search URLs for each term and city, load them in a headless browser or with JS rendering, and read the item links and prices from the first screen of results. Then open the listings you need for their details, and stop at any login prompt instead of signing in.

How do I scrape Facebook Marketplace listings in a specific city?

Put the city in the Marketplace URL and send the request from the same area, because Marketplace shows listings near the searcher. ProxyField residential proxies offer targeting by country, region (state) and city, with 2,800+ cities in the United States.

Do I need an account to scrape Facebook Marketplace?

No, and you should not use one: collect only what Marketplace shows logged-out visitors, which in many countries includes search results and single listings. ProxyField's acceptable use policy forbids fake accounts and accessing data behind logins you are not entitled to.

What data can I extract from Facebook Marketplace?

From public pages: listing title, price, condition, description, location, time listed, category and photos, plus make, model, year and mileage on vehicle listings. Seller names and photos are personal data, so leave them out unless your purpose needs them.

How do I start scraping Facebook Marketplace?

Start small: pick 5 searches, open them in a browser through a proxy in the right city, and check what a logged-out visitor sees there today. Then write the parser for those fields, schedule the searches and add cities once the first ones run cleanly.

Will I get blocked when scraping Facebook Marketplace?

You will if you scroll far, search fast from one IP or use datacenter IPs: Facebook answers with login prompts, errors or empty pages. Many narrow searches at a low rate, spread over rotating residential IPs, are blocked less often.

Does Facebook Marketplace have an API?

Not for reading listings, as far as we found: Meta's partner tools let dealers and retailers publish their own inventory, and its research tools do not cover Marketplace. Studying Marketplace prices means reading the public pages.

How much does it cost to scrape Facebook Marketplace?

On ProxyField's Web Scraping API, 100 searches a day are 3,000 pages a month: $6 with JS rendering, or $3 at the volume price. 10,000 listing pages cost $20, or $10 at volume; your own scraper on residential proxies starts at 1 GB for $2.95.

Can I scrape Facebook Marketplace without writing code?

For a few searches, a browser extension that exports the visible results to CSV works, because it reads what your own browser shows. For regular pulls across many cities, you need a script or an API on a schedule.

Show 6 more questionsShow fewer questions

Are browser extension scraping tools effective for Facebook Marketplace?

They work for one search at a time on your own screen, and they stop when Facebook changes its page structure or asks you to log in. They do not run on a schedule or across many cities.

Can I use a headless browser for Facebook Marketplace scraping?

Yes, and you need one or an API with JS rendering, because Marketplace builds its pages in the browser. Use Playwright or Puppeteer through rotating residential IPs, load only the first screen of each search, and keep the rate low.

Are proxies necessary for Facebook Marketplace scraping?

For more than a few searches, yes: Facebook limits how much one IP can load, and Marketplace results depend on where the request comes from. Residential IPs in the cities you study spread the load and match the location, at $2.95/GB for 1 GB on ProxyField.

Why does Facebook Marketplace scraping break so often?

Facebook changes its page structure often, interrupts logged-out visitors with login prompts, and varies what it shows by country. Check your parser against a sample every week and read the first screen of many narrow searches rather than one long scroll.

Can I scrape vehicle and property rental listings on Facebook Marketplace?

Yes, where they are public: vehicle listings show make, model, year and mileage when the seller filled them in, and rental listings show rent, size and area. Both live in their own Marketplace categories, so search those category URLs city by city.

What is Facebook Marketplace scraping used for?

Resellers price used goods from what similar items ask in their city, car dealers and analysts track used car prices, brands look for counterfeit listings, and researchers study local second-hand markets. These uses need prices and item facts, not the sellers' details.

Collect Facebook Marketplace pages with the Web Scraping API

Billed on successful results only. Contact sales for the Web Scraping API and the volume you need, or run your own scraper on residential proxies. 24/7 live chat helps with setup and integration.