Facebook Marketplace API: search listings and item details as JSON

Get Facebook Marketplace data with three REST calls. Look up a city to get its coordinates, search listings by keyword with lat and lng, then fetch the full details of any item by id or URL. Search pages hold up to 24 listings and can be filtered by category, radius, price range, condition, delivery method, date listed and availability. Item details include title, description, price, location, condition, photos, seller and availability flags.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/facebook/marketplace_itemMarketplace Item1$0.0017
/v1/facebook/marketplace_location_searchMarketplace Location Search1$0.0017
/v1/facebook/marketplace_searchMarketplace Search1$0.0017

Endpoint details

/v1/facebook/marketplace_item

Marketplace Item 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
idstringnoFacebook Marketplace item id
urlstringnoFacebook Marketplace item URL

Sample response (trimmed):

{
 "id": "1656586118821988",
 "url": "https://www.facebook.com/marketplace/item/1656586118821988/",
 "title": "Specialized Hardrock GSX - Super Clean Vintage Restomod - INCLUDES FREE TUNE UP",
 "description": "Was going to hang on to this one bc I absolutely love how it looks, but the 20” frame is just bit too large for me. Riders over 6’ would be comfy on this one...",
 "creation_time": "2026-05-15T16:57:39.000Z",
 "listing_date_text": null,
 "availability_text": null,
 "location_text": "Austin, TX",
 "location": {
  "latitude": 30.401916503906,
  "longitude": -97.761840820312
 },
 "price": {
  "formatted_amount_zeros_stripped": "$380",
  "amount_with_offset_in_currency": 38000,
  "amount": 380,
  "currency": "USD"
 },
 "strikethrough_price": null,
 "category_id": "1658310421102081",
 "attributes": [
  {
   "attribute_name": "Condition",
   "value": "used_good",
   "label": "Used - Good"
  }
 ],
 "photos": [
  {
   "id": "2810586442651711",
   "url": "https://scontent-bos5-1.xx.fbcdn.net/v/t39.84726-6/701290950_2810586459318376_3780262866029042186_n.jpg?stp=dst-jpg_s960x960_tt6&_nc_cat=111&ccb=1-7&_nc_sid=...",
   "width": 960,
   "height": 720,
   "accessibility_caption": "No photo description available."
  }
 ],
 "is_hidden": false,
 "is_live": true,
 "is_pending": false,
 "is_sold": false,
 "is_viewer_seller": false,
 "is_shipping_offered": false,
 "is_buy_now_enabled": fal

/v1/facebook/marketplace_location_search

Marketplace Location Search 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
querystringyesLocation search query

/v1/facebook/marketplace_search

Marketplace Search 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
querystringyesSearch keyword
latnumberyesLatitude for the search location
lngnumberyesLongitude for the search location
category_idstringnoNumeric Facebook Marketplace category ID. Listing results include this value as category_id.
radius_kmnumbernoSearch radius in kilometers
min_pricenumbernoMinimum listing price
max_pricenumbernoMaximum listing price
sort_bystringnoFacebook Marketplace sort option. creation_time_descend usually orders the first pages newest first, but Facebook can insert newer listings on later cursor page
delivery_methodstringnoDelivery filter
conditionstringnoCondition filter
date_listedstringnoFacebook Marketplace date filter. Uses the same calendar-day buckets as the UI, so last_24_hours can include listings from the prior calendar day.
availabilitystringnoAvailability filter
next_cursorstringnoOpaque pagination cursor returned from the previous response. Pass it back as-is.

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/facebook/marketplace_item"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/facebook/marketplace_item",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

How do I search Facebook Marketplace by city?

First call the location search endpoint with query set to the city name. It returns coordinates. Then call the Marketplace search endpoint with query, lat and lng. Each page contains up to 24 listings, and you can add filters such as radius_km, min_price, max_price, condition or date_listed.

How does pagination work?

Each search response returns a cursor. Pass that value back as-is in next_cursor to get the next page of listings for the same query and location. Do not change or decode the cursor, because it is tied to the search that produced it.

Do listings include a date?

Each listing includes creation_time as an ISO 8601 UTC timestamp when Facebook exposes an exact listing timestamp, plus listing_date_text when available. Either field can be null, so your code should handle listings without an exact date.

What do item details include?

The item endpoint takes an item id or a Marketplace item URL and returns title, description, price, location, condition, photos, seller and availability flags. Rental listings can also include listing_date_text and availability_text, such as 'Available now'.

Can I filter search results by category?

Yes. Pass category_id to restrict results to a numeric Facebook Marketplace category ID. You can take that ID from the category returned on listing results, so a first broad search helps you find the right category for later, narrower searches.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all facebook-marketplace endpoints.