Marketplace Category & Reference
curl --request GET \
--url https://scrapebadger.com/v1/facebook/marketplace/category/{category} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/facebook/marketplace/category/{category}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/facebook/marketplace/category/{category}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/facebook/marketplace/category/{category}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/facebook/marketplace/category/{category}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/facebook/marketplace/category/{category}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/facebook/marketplace/category/{category}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"listings": [
{}
],
"count": 123,
"end_cursor": "<string>",
"has_next_page": true,
"query": "<string>",
"location": "<string>",
"resolved_location": {},
"locations": [
{}
],
"categories": [
{}
]
}Endpoints
Marketplace Category & Reference
Browse a whole Facebook Marketplace category in one location, plus the free location and category slug catalogs.
GET
/
v1
/
facebook
/
marketplace
/
category
/
{category}
Marketplace Category & Reference
curl --request GET \
--url https://scrapebadger.com/v1/facebook/marketplace/category/{category} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/facebook/marketplace/category/{category}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/facebook/marketplace/category/{category}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/facebook/marketplace/category/{category}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/facebook/marketplace/category/{category}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/facebook/marketplace/category/{category}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/facebook/marketplace/category/{category}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"listings": [
{}
],
"count": 123,
"end_cursor": "<string>",
"has_next_page": true,
"query": "<string>",
"location": "<string>",
"resolved_location": {},
"locations": [
{}
],
"categories": [
{}
]
}Browse a Marketplace category feed —
vehicles, propertyrentals,
electronics, apparel and the rest — scoped to one location, with price and
sort filters. Returns the same MarketplaceListing shape as
/marketplace/search.
This page also documents the two free reference endpoints that list the valid
location and category slugs.
Credits: 5 (category browse) · 0 (/marketplace/locations, /marketplace/categories)
Authorization
string
required
Your ScrapeBadger API key.
Path Parameters
string
required
Marketplace category slug — one of
vehicles, propertyrentals,
propertyforsale, apparel, electronics, entertainment, family,
free, garden, hobbies, homegoods, homeimprovement, instruments,
officesupplies, petsupplies, sportinggoods, toys.Query Parameters
string
default:"nyc"
A Facebook Marketplace location slug (
nyc, la, london) or a numeric
Facebook place id. Human-readable names such as Durham, UK return a 400 invalid_location rather than silently browsing a different place — see
Location targeting.
Facebook honours radius on search only, so there is no radius here.integer
Minimum price.
integer
Maximum price.
string
One of
best_match, price_ascend, price_descend, distance_ascend,
creation_time_descend.string
Pagination cursor — the
end_cursor from a previous response.Response
MarketplaceListing[]
Same shape as
/marketplace/search —
id, title, url, price_formatted, price_amount, currency,
primary_photo, creation_time_utc, created_at, location_text, city_page_id, city,
state, latitude, longitude, subtitles[], delivery_types[],
attributes, is_sold, is_pending, is_live and seller.integer
Number of listings in this page.
string
Pass as
after for the next page.boolean
Whether more listings are reachable.
string
Echoes the category slug that was browsed.
string
The location value you sent.
ResolvedLocation
The location Facebook actually browsed:
slug, latitude, longitude and
radius. Verify it against your target geography before ingesting.Vertical categories fill
attributes with vertical-specific keys — vehicle
make / model / mileage on vehicles, beds / baths on
propertyrentals and propertyforsale. subtitles[] carries the same
metadata as Facebook’s own display bullets.Example
curl "https://scrapebadger.com/v1/facebook/marketplace/category/vehicles?location=la&max_price=15000&sort_by=price_ascend" \
-H "X-API-Key: YOUR_API_KEY"
const res = await fetch(
"https://scrapebadger.com/v1/facebook/marketplace/category/vehicles?" +
new URLSearchParams({
location: "la",
max_price: "15000",
sort_by: "price_ascend",
}),
{ headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY } },
);
const data = await res.json();
import requests
res = requests.get(
"https://scrapebadger.com/v1/facebook/marketplace/category/vehicles",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"location": "la", "max_price": 15000, "sort_by": "price_ascend"},
)
data = res.json()
Response
{
"listings": [
{
"id": "992418377620134",
"title": "2014 Honda Civic LX",
"url": "https://www.facebook.com/marketplace/item/992418377620134/",
"price_formatted": "$8,900",
"price_amount": "8900",
"currency": "USD",
"primary_photo": "https://scontent.xx.fbcdn.net/v/t45.5328-4/553219_n.jpg",
"photos": [],
"creation_time_utc": 1785044100.0,
"created_at": "2026-07-24T12:15:00Z",
"location_text": "Pasadena, CA",
"city": "Pasadena",
"state": "CA",
"latitude": 34.1478,
"longitude": -118.1445,
"category_id": "vehicles",
"subtitles": ["112,400 miles"],
"delivery_types": ["local_pick_up"],
"attributes": { "make": "Honda", "model": "Civic", "mileage": "112400" },
"is_sold": false,
"is_pending": false,
"is_live": true,
"seller": {
"id": "100002218844907",
"name": "Marisol Vega",
"url": "https://www.facebook.com/profile.php?id=100002218844907",
"profile_picture": "https://scontent.xx.fbcdn.net/v/t1.30497-1/33119_n.jpg",
"typename": "User"
}
}
],
"count": 1,
"end_cursor": "AQHVjZWhpY2xlc19jdXJzb3JfMDAx",
"has_next_page": true,
"query": "vehicles",
"location": "la"
}
Reference endpoints
Both are free (0 credits) and hit no Facebook surface.GET /v1/facebook/marketplace/locations
object[]
{ slug, name } pairs for the high-traffic Marketplace cities — nyc,
la, chicago, houston, seattle, sanfrancisco, miami, atlanta,
london, toronto, sydney. Not exhaustive: any city slug Facebook
accepts works as a location.integer
Number of locations returned.
GET /v1/facebook/marketplace/categories
object[]
{ slug, name } pairs for every Marketplace top-level category.integer
Number of categories returned.
cURL
curl "https://scrapebadger.com/v1/facebook/marketplace/categories" \
-H "X-API-Key: YOUR_API_KEY"
Response
{
"categories": [
{ "slug": "vehicles", "name": "Vehicles" },
{ "slug": "propertyrentals", "name": "Property Rentals" },
{ "slug": "electronics", "name": "Electronics" }
],
"count": 17
}

