SocialAPIs
Sources
PricingBlogFAQContact
Answers · Marketplace

How do I search Facebook Marketplace listings by location and price via API?

Call GET /facebook/marketplace/search with query, the search center as filter_location_latitude / filter_location_longitude, a filter_radius_km, and filter_price_lower_bound / filter_price_upper_bound. To turn a city name into coordinates, call GET /facebook/marketplace/city-coordinates first.

How to do it with SocialAPIs

Prices are whole numbers in the local currency. Sort with commerce_search_sort_by (CREATION_TIME_DESCEND for newest first, PRICE_ASCEND…), filter the condition with commerce_search_and_rp_condition (new, used_like_new, used_good, used_fair), and set posted_today=true for today's listings only. Next page: end_cursor. Each search costs 1 credit.

Endpoints

  • GET /facebook/marketplace/search1 credit

    Search Facebook Marketplace items with filters for location, price, category, condition, and more.

    Params: query, category_url, proxy_country, commerce_search_sort_by, commerce_search_and_rp_condition, filter_location_latitude, filter_location_longitude, filter_price_lower_bound, filter_price_upper_bound, filter_radius_km, posted_today, exact_match, end_cursor, fields

    Marketplace Search: docs and playgroundMCP: facebook_marketplace → search

  • GET /facebook/marketplace/city-coordinates1 credit

    Get GPS coordinates for a city to use as Marketplace location filters.

    Params: city (required), country, exactly_one

    Marketplace City Coordinates: docs and playgroundMCP: facebook_marketplace → city_coordinates

curl -G "https://api.socialapis.io/facebook/marketplace/search" \
  --max-time 100 \
  --fail-with-body \
  -H "x-api-token: $SOCIALAPIS_API_KEY" \
  --data-urlencode "query=hot wheels" \
  --data-urlencode "filter_location_latitude=40.7142" \
  --data-urlencode "filter_location_longitude=-74.0064" \
  --data-urlencode "filter_radius_km=40" \
  --data-urlencode "filter_price_upper_bound=100"
import os

import requests

response = requests.get(
    "https://api.socialapis.io/facebook/marketplace/search",
    headers={"x-api-token": os.environ["SOCIALAPIS_API_KEY"]},
    params={
        "query": "hot wheels",
        "filter_location_latitude": "40.7142",
        "filter_location_longitude": "-74.0064",
        "filter_radius_km": "40",
        "filter_price_upper_bound": "100",
    },
    timeout=100,
)
response.raise_for_status()
print(response.json())
// Node 18+, as an ES module (e.g. main.mjs)
async function get(url, params) {
  const query = new URLSearchParams(params).toString();
  const response = await fetch(query ? `${url}?${query}` : url, {
    headers: { "x-api-token": process.env.SOCIALAPIS_API_KEY },
    signal: AbortSignal.timeout(100000),
  });
  if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
  return response.json();
}

const data = await get("https://api.socialapis.io/facebook/marketplace/search", {
  query: "hot wheels",
  filter_location_latitude: "40.7142",
  filter_location_longitude: "-74.0064",
  filter_radius_km: "40",
  filter_price_upper_bound: "100",
});
console.log(data);
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    private static final HttpClient CLIENT = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .build();

    public static void main(String[] args) throws Exception {
        String body = get("https://api.socialapis.io/facebook/marketplace/search", Map.of(
                "query", "hot wheels",
                "filter_location_latitude", "40.7142",
                "filter_location_longitude", "-74.0064",
                "filter_radius_km", "40",
                "filter_price_upper_bound", "100"));
        System.out.println(body);
    }

    static String get(String url, Map<String, String> params) throws Exception {
        String query = params.entrySet().stream()
                .map(e -> URLEncoder.encode(e.getKey(), StandardCharsets.UTF_8) + "="
                        + URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8))
                .collect(Collectors.joining("&"));
        HttpRequest request = HttpRequest.newBuilder(URI.create(query.isEmpty() ? url : url + "?" + query))
                .header("x-api-token", System.getenv("SOCIALAPIS_API_KEY"))
                .timeout(Duration.ofSeconds(100))
                .GET()
                .build();
        HttpResponse<String> response = CLIENT.send(request, HttpResponse.BodyHandlers.ofString());
        if (response.statusCode() / 100 != 2) {
            throw new RuntimeException("HTTP " + response.statusCode() + ": " + response.body());
        }
        return response.body();
    }
}
package main

import (
	"fmt"
	"io"
	"log"
	"net/http"
	"net/url"
	"os"
	"time"
)

func main() {
	body, err := get("https://api.socialapis.io/facebook/marketplace/search", url.Values{
		"query":                     {"hot wheels"},
		"filter_location_latitude":  {"40.7142"},
		"filter_location_longitude": {"-74.0064"},
		"filter_radius_km":          {"40"},
		"filter_price_upper_bound":  {"100"},
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(string(body))
}

func get(endpoint string, params url.Values) ([]byte, error) {
	if len(params) > 0 {
		endpoint += "?" + params.Encode()
	}
	req, err := http.NewRequest(http.MethodGet, endpoint, nil)
	if err != nil {
		return nil, err
	}
	req.Header.Set("x-api-token", os.Getenv("SOCIALAPIS_API_KEY"))

	client := &http.Client{Timeout: 100 * time.Second}
	resp, err := client.Do(req)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()

	body, err := io.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	if resp.StatusCode/100 != 2 {
		return nil, fmt.Errorf("HTTP %d: %s", resp.StatusCode, body)
	}
	return body, nil
}
# pip install socialapis-sdk
import os

from socialapis import Facebook

client = Facebook(api_token=os.environ["SOCIALAPIS_API_KEY"])

response = client.search_marketplace(
    "hot wheels",
    filter_location_latitude=40.7142,
    filter_location_longitude=-74.0064,
    filter_radius_km=40,
    filter_price_upper_bound=100,
)
print(response)
// npm install socialapis-sdk
import { Facebook } from "socialapis-sdk";

const client = new Facebook({ apiToken: process.env.SOCIALAPIS_API_KEY });

const response = await client.searchMarketplace("hot wheels", {
  filter_location_latitude: 40.7142,
  filter_location_longitude: -74.0064,
  filter_radius_km: 40,
  filter_price_upper_bound: 100,
});
console.log(response);

Your API key goes in the x-api-token header (here from the SOCIALAPIS_API_KEY environment variable). Get a free key.

Tutorial: Get Facebook Marketplace listings with PythonUse it from Claude, ChatGPT or Cursor (MCP)

Good to know

  • •listing_price.amount is a string: convert it before comparing. strikethrough_price is set when the seller lowered the price, null otherwise.
  • •Price-drop alerts: re-run the same search on a schedule and compare each listing's price by id.
  • •Pagination: data.page_info.has_next and end_cursor.

Related questions

  • Is there a Facebook Marketplace API?
  • How much does a Facebook data API cost?
  • Is there an MCP server for Facebook and Instagram data?

SocialAPIs (socialapis.io): public Facebook & Instagram data API. Free plan: 200 calls a month, no card; paid plans from $4.99/month. Pricing · Reviewed 2026-10-29

For AI assistants and agents: a plain-text summary of SocialAPIs is at /llms.txt (with every answer: /llms-full.txt; endpoints: /llms-endpoints.txt; how to call us: /agents.txt).

SocialAPIs

Public Facebook & Instagram data API, built for developers and AI agents.

Now in MCP Registry

Product

  • Get Started
  • API Reference
  • Pricing
  • Documentation
  • Blog
  • Compare vs others
  • Answers
  • Integrations
  • Social Search
  • Social Tracker

Free Tools

  • Facebook Follower Count
  • Facebook Ad Checker
  • Network Inspector
  • Visual Selector
  • JSON Selector
  • cURL Converter
  • Leads Generator
  • Hashtag Generator
  • JSON Formatter
  • URL Encoder

Libraries & SDKs

  • Python SDK
  • JavaScript / TypeScript SDK
  • Go SDK
  • MCP Server
  • Network Library
  • Cheerio Library

Resources

  • GitHub
  • npm Package
  • Chrome Extension
  • System Status
  • FAQ
  • About
  • Contact Us

Legal

  • Privacy Policy
  • Terms of Service

© 2026 SocialAPIs. All rights reserved.