Better Fetch

Facebook Marketplace Scraper

Search indexed public Marketplace listings, resolve exact items, and geocode Marketplace locations with explicit source semantics.

Shoppingv0.1.0~2 credits/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Numeric Marketplace item id.

Optional search latitude.

Optional search longitude.

Public Marketplace item URL.

Geocode a location, search listings, or resolve one item.

Maximum listing results.

Location or listing search phrase.

Google result offset from a previous response.

Requested sort recorded transparently in applied_filters.

Requested condition filter recorded in applied_filters.

Optional maximum visible price filter.

Optional minimum visible price filter.

Optional radius recorded with the result.

Requested listing-age filter recorded in applied_filters.

Requested availability filter recorded in applied_filters.

Requested delivery filter recorded in applied_filters.

Sign in and run
~2 credits/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

itemmodecountquerylistingslocationssource_urlnext_cursor

Overview

Facebook Marketplace Scraper uses public search-index coverage for listings that Facebook exposes publicly, plus a clearly identified OpenStreetMap geocoder for location coordinates. It returns source-linked item IDs, canonical URLs, titles, descriptions, visible prices, locations, listing-age labels, condition, and availability without claiming authenticated Marketplace coverage.

Last validated: Jul 15, 2026

Input

idstring

Numeric Marketplace item id.

latnumber

Optional search latitude.

lngnumber

Optional search longitude.

urlstring

Public Marketplace item URL.

mode"location_search" | "search" | "item"required

Geocode a location, search listings, or resolve one item.

countintegerdefault: 10

Maximum listing results.

querystring

Location or listing search phrase.

cursorstring

Google result offset from a previous response.

sort_bystring

Requested sort recorded transparently in applied_filters.

conditionstring

Requested condition filter recorded in applied_filters.

max_pricenumber

Optional maximum visible price filter.

min_pricenumber

Optional minimum visible price filter.

radius_kmnumber

Optional radius recorded with the result.

date_listedstring

Requested listing-age filter recorded in applied_filters.

availabilitystring

Requested availability filter recorded in applied_filters.

delivery_methodstring

Requested delivery filter recorded in applied_filters.

Output

itemobject

Resolved exact Marketplace item.

item.idstring
item.urlstring
item.titlestring
item.locationstring
item.conditionstring
item.descriptionstring
item.price_labelstring
item.availabilitystring
item.listed_at_labelstring
modestringrequired

Resolved operation.

countintegerrequired

Number of records.

querystring

Requested location or listing phrase.

listingsobject[]required

Indexed public Marketplace listings.

locationsobject[]required

OpenStreetMap location matches.

source_urlstringrequired

Fetched public source URL.

next_cursorstring

Next search offset.

applied_filtersobject

Requested search filters recorded for transparency.

applied_filters.latnumber
applied_filters.lngnumber
applied_filters.sort_bystring
applied_filters.conditionstring
applied_filters.max_pricenumber
applied_filters.min_pricenumber
applied_filters.radius_kmnumber
applied_filters.date_listedstring
applied_filters.availabilitystring
applied_filters.delivery_methodstring

Examples

brisbane-location

{
  "mode": "location_search",
  "query": "Brisbane, Queensland, Australia"
}

bike-search

{
  "mode": "search",
  "count": 5,
  "query": "Brisbane bicycle"
}

marketplace-item

{
  "id": "2018408122382767",
  "mode": "item"
}

Use cases

Local resale research

Find public indexed listings for products and categories in a city or region.

Listing verification

Resolve a known Marketplace item ID to its current indexed title and visible metadata.

Search setup

Convert a place name into latitude and longitude before running a localized listing workflow.

FAQ

Does this need Facebook login?

No. Listing discovery uses public search-index results rather than an authenticated Facebook session.

Where do location coordinates come from?

Location lookup explicitly uses OpenStreetMap Nominatim; it does not claim a private Facebook location identifier.

Is Marketplace coverage complete?

No. Results are best-effort and limited to public listings exposed in the search index.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Facebook Marketplace Scraper"
2. Call run_tool with:
   name: "facebook_marketplace_scraper"
   input: {"mode":"location_search","query":"Brisbane, Queensland, Australia"}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/facebook_marketplace_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"mode":"location_search","query":"Brisbane, Queensland, Australia"}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/facebook-marketplace-scraper && cd facebook-marketplace-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"location_search","query":"Brisbane, Queensland, Australia"}'