Properties
| Name | Type | Description |
|---|---|---|
| request_id | string | ID of this request. Poll it at /v1/jobs/{request_id}. |
| status | string | pending, complete or failed. Always check it, even on HTTP 200. |
| credits | integer | Requests charged: 1 when complete, 0 for a page past the last one, while pending, or when failed. |
| cached | boolean | True when the result came from the 15-minute cache. |
| poll_url | string | Only while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL. |
| result | object | |
| error | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/soldgraph-com/json-schema/soldgraph-com-facebook-listings-job-schema.json",
"title": "FacebookListingsJob",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/soldgraph-com-openapi.json#/components/schemas/FacebookListingsJob",
"type": "object",
"required": [
"request_id",
"status",
"credits",
"cached"
],
"properties": {
"request_id": {
"type": "string",
"description": "ID of this request. Poll it at /v1/jobs/{request_id}."
},
"status": {
"type": "string",
"description": "pending, complete or failed. Always check it, even on HTTP 200.",
"enum": [
"pending",
"complete",
"failed"
]
},
"credits": {
"type": "integer",
"description": "Requests charged: 1 when complete, 0 for a page past the last one, while pending, or when failed."
},
"cached": {
"type": "boolean",
"description": "True when the result came from the 15-minute cache."
},
"poll_url": {
"type": "string",
"description": "Only while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL."
},
"result": {
"$ref": "#/$defs/FacebookListingsPage"
},
"error": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"enum": [
"page_mismatch",
"schema",
"network",
"upstream",
"throttled",
"blocked",
"rejected",
"not_found",
"filter_not_supported",
"filter_not_applied",
"location_not_served",
"auth",
"daily_limit",
"deadline_exceeded",
"credential_storage"
],
"description": "Failed job code."
},
"message": {
"type": "string",
"description": "What the code means, in plain words."
}
}
}
},
"$defs": {
"FacebookListingsPage": {
"type": "object",
"required": [
"provider",
"country",
"query",
"page",
"count",
"reported_total",
"next_page",
"collected_at",
"schema_version",
"completeness",
"field_notes",
"location",
"page_size",
"summary",
"count",
"next_page",
"reported_total",
"data"
],
"properties": {
"provider": {
"type": "string",
"description": "Marketplace ID, like ebay or poshmark."
},
"country": {
"type": "string",
"description": "The country searched: us, or on eBay the country you sent."
},
"query": {
"type": "string",
"description": "The q you sent, with extra spaces removed."
},
"page": {
"type": "integer",
"description": "The page you asked for."
},
"count": {
"type": "integer",
"description": "Rows returned: the page minus sold or hidden listings and listings outside your radius."
},
"reported_total": {
"type": "null",
"description": "Always null: Facebook does not report a total."
},
"next_page": {
"type": "null",
"description": "Always null. Facebook serves one page to logged-out visitors; narrow with sort, prices or days_since_listed to reach more listings."
},
"collected_at": {
"type": "string",
"description": "When we collected the page, as an ISO 8601 timestamp."
},
"schema_version": {
"type": "integer",
"description": "Version of the result's shape for that marketplace: 1 or 2. It only rises when a field changes meaning."
},
"completeness": {
"type": "string",
"description": "provider_page_only: one page as the marketplace served it, not a full history. TCGplayer recent sales say recent_sample_only."
},
"field_notes": {
"type": "string",
"description": "Plain-text notes on how to read this page's fields."
},
"location": {
"type": "object",
"description": "The search center as zip, latitude and longitude, your radius_miles, the Facebook city searched as source_city (id, name, state, latitude, longitude, distance_miles from your point), and source_radius_km, the radius sent to Facebook, widened to cover your circle from that city."
},
"page_size": {
"type": "integer",
"description": "Listing rows on the source page."
},
"summary": {
"type": "object",
"properties": {
"priced_count": {
"type": "integer",
"description": "Rows on this page that show one price."
},
"currency": {
"type": "string",
"description": "Currency of the amounts below."
},
"median": {
"type": [
"number",
"null"
],
"description": "Middle displayed price of those rows."
},
"low": {
"type": [
"number",
"null"
],
"description": "Lowest displayed price."
},
"high": {
"type": [
"number",
"null"
],
"description": "Highest displayed price."
},
"p25": {
"type": [
"number",
"null"
],
"description": "First-quartile displayed price: a quarter of priced rows are at or below it."
},
"p75": {
"type": [
"number",
"null"
],
"description": "Third-quartile displayed price. With `p25`, a range that ignores a stray accessory or parts listing."
}
},
"required": [
"priced_count",
"currency",
"median",
"low",
"high",
"p25",
"p75"
],
"description": "Price maths over the rows on this page: priced_count, currency, median, low, high. No row is removed from data. Rows with no single readable price are left out of the maths."
},
"data": {
"type": "array",
"items": {
"$ref": "#/$defs/FacebookListingsRow"
}
}
}
},
"FacebookListingsRow": {
"type": "object",
"required": [
"id",
"title",
"link",
"pending",
"displayed_price",
"displayed_price_text",
"original_price",
"condition",
"city",
"state",
"city_id",
"approx_distance_miles",
"listed_at",
"delivery",
"category_id",
"image"
],
"properties": {
"id": {
"type": "string",
"description": "Facebook Marketplace item ID. Pass it to /v1/facebook/item for full details."
},
"title": {
"type": "string",
"description": "Seller title, up to 2,000 characters."
},
"link": {
"type": "string",
"description": "Public Facebook Marketplace listing URL."
},
"pending": {
"type": "boolean",
"description": "True when the seller marked a sale in progress. Sold listings are left out."
},
"displayed_price": {
"$ref": "#/$defs/Money",
"description": "USD asking price as { amount, currency }. 0 means free. Never a sale price."
},
"displayed_price_text": {
"type": "string",
"description": "Formatted USD asking price."
},
"original_price": {
"oneOf": [
{
"$ref": "#/$defs/Money"
},
{
"type": "null"
}
],
"description": "Earlier asking price shown struck through when the seller lowered it, else null."
},
"condition": {
"type": "null",
"description": "Always null: Facebook search pages don't show condition. Use /v1/facebook/item, or filter with condition."
},
"city": {
"type": [
"string",
"null"
],
"description": "Seller-chosen city."
},
"state": {
"type": [
"string",
"null"
],
"description": "Two-letter state code."
},
"city_id": {
"type": [
"string",
"null"
],
"description": "Facebook city page ID for that city."
},
"approx_distance_miles": {
"type": [
"number",
"null"
],
"description": "Miles from your search point to the listing's city, not to the item. Null when the city is not in our place table."
},
"listed_at": {
"type": [
"string",
"null"
],
"description": "When the listing was posted, in UTC."
},
"delivery": {
"type": "object",
"description": "local_pickup and shipping booleans from the listing's delivery options."
},
"category_id": {
"type": [
"string",
"null"
],
"description": "Facebook Marketplace category ID."
},
"image": {
"type": [
"string",
"null"
],
"description": "Primary photo on Facebook's CDN. The link is signed and expires after some days."
}
}
},
"Money": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string",
"description": "ISO 4217 code, like USD."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/soldgraph-com-facebook-listings-job"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.