Search public Facebook Marketplace listings by keyword and coordinates, returning titles, prices, locations, images, status fields, and source URLs as normalized records.

Facebook Marketplace Search API

Keyword and coordinate input
Geographic and listing filters
1–2,000 requested results
Normalized public listings
0.7 credits / result
Ready
Ready

Enter parameters and send a request. The task status and normalized results will appear here.

README

Facebook Marketplace Search

Facebook Marketplace Search listings are public local-commerce offers with titles, prices, locations, images, seller context, delivery options, and availability signals. These fields support local inventory research, asking-price comparison, category analysis, and repeatable market snapshots.

Features

  • Keyword and geographic listing searchCombine one non-empty query with required latitude and longitude coordinates, then narrow public listings with radius, price, sort, delivery, condition, date, and availability controls.
  • Structured listing and price recordsReturn listing IDs, public URLs, titles, available descriptions, price amounts, currencies, formatted prices, and strikethrough values in a consistent shape.
  • Location, media, and classification contextKeep available location labels, city and state values, image references, category IDs, attributes, delivery types, and listing-date text with each result.
  • Public search-card depthPreserve exposed seller fields and live, pending, sold, shipping, buy-now, and messaging flags while leaving search-card details empty when the public result does not provide them.

Parameters

ParametersRequiredDescription
queryRequiredRequired non-empty listing keyword; leading and trailing whitespace is removed before submission.
latitudeRequiredRequired latitude for the search center, expressed as a number from -90 through 90.
longitudeRequiredRequired longitude for the search center, expressed as a number from -180 through 180.
results_limitOptionalMaximum listings to save across search pages; defaults to 100 and accepts integers from 1 through 2,000.
radius_kmOptionalOptional search radius in kilometers; when supplied, it must be a number greater than 0.
min_priceOptionalOptional minimum listing price; it must be non-negative and cannot exceed max_price.
max_priceOptionalOptional maximum listing price; it must be non-negative and cannot be lower than min_price.
sort_byOptionalOptional order: suggested, distance_ascend, creation_time_descend, price_ascend, or price_descend.
delivery_methodOptionalOptional delivery filter: all, local_pickup, or shipping.
conditionOptionalOptional condition filter: new, used_like_new, used_good, or used_fair.
date_listedOptionalOptional listing-age filter: all, 1, 7, 30, last_24_hours, last_7_days, or last_30_days.
availabilityOptionalOptional availability filter: available, sold, or all.

How to Use

Submit a keyword and geographic center with optional listing filters, track the asynchronous task, and read normalized listings with cursor pagination.

  1. Prepare a non-empty query, latitude from -90 through 90, longitude from -180 through 180, and any optional filters.
  2. POST the request to /v1/facebook-marketplace/search, then store the returned task_id.
  3. Poll /v1/tasks/{task_id} until the task succeeds or returns a failure.
  4. Read data.results.items and request the returned next_cursor while has_more remains true.
curl -X POST "https://api.socq.ai/v1/facebook-marketplace/search" \
  -H "Authorization: Bearer $SOCQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"bike","latitude":30.2677,"longitude":-97.7475,"results_limit":100}'

# Poll GET /v1/tasks/{task_id}
# Read data.results.items and follow next_cursor while has_more is true

Best Use Cases

  • Local asking-price comparison: Compare normalized price amounts, currencies, titles, query context, and locations for similar public listings inside a defined search area.
  • Regional inventory and category research: Use category IDs, attributes, delivery types, availability fields, images, and location context to assemble a bounded local listing dataset.
  • Repeatable market snapshots: Retain listing IDs, prices, state fields, search_query, and collected_at to compare independently collected results for the same search over time.
  • Listing shortlist preparation: Use public listing URLs, titles, prices, images, and availability context to select records for item-level follow-up.

Pro Tips

  • When a search starts with a place name instead of coordinates, resolve and verify a Location Search candidate before submitting latitude and longitude.
  • Validate coordinate ranges, keep radius_km above 0, use non-negative prices, and ensure min_price does not exceed max_price before submission.
  • Follow next_cursor until has_more is false when stored results exceed the first response page; results_limit controls collection, not the task response page size.
  • Key repeated snapshots by listing ID and retain collected_at because duplicate IDs are stored once per task and public listings can change or disappear.
  • Treat descriptions, seller fields, precise coordinates, attributes, and creation times as optional; use a returned listing URL with Marketplace Item when deeper public detail is required.

Use these APIs when you need a different type of public Facebook Marketplace data.

Facebook Marketplace Search APIFAQ