soldgraph-com · Schema

OfferupListingsJob

CompanyResaleMarketplacePricingData

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
View JSON Schema on GitHub

JSON Schema

soldgraph-com-offerup-listings-job-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/soldgraph-com/json-schema/soldgraph-com-offerup-listings-job-schema.json",
  "title": "OfferupListingsJob",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/soldgraph-com-openapi.json#/components/schemas/OfferupListingsJob",
  "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/OfferupListingsPage"
    },
    "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": {
    "Money": {
      "type": "object",
      "required": [
        "amount",
        "currency"
      ],
      "properties": {
        "amount": {
          "type": "number"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code, like USD."
        }
      }
    },
    "OfferupListingsPage": {
      "type": "object",
      "required": [
        "provider",
        "country",
        "query",
        "page",
        "count",
        "reported_total",
        "next_page",
        "collected_at",
        "schema_version",
        "completeness",
        "field_notes",
        "location",
        "vehicle_search",
        "category_id",
        "page_size",
        "summary",
        "count",
        "next_cursor",
        "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 listings already returned on earlier pages of this search."
        },
        "reported_total": {
          "type": "null",
          "description": "Always null: OfferUp does not report a total."
        },
        "next_page": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Send this as page to get the next page. Null on the last page, and on page 100, the deepest page served."
        },
        "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. Also radius_miles (applied), requested_radius_miles, and widened_radius_miles: the wider area OfferUp used for this page because nearby results ran out, else null."
        },
        "vehicle_search": {
          "type": "boolean",
          "description": "True when OfferUp treated the search as cars and trucks. Vehicle radius options, filters and sorts apply only then."
        },
        "category_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Category OfferUp applied, including one it picked from the keywords, such as 5.1 for \"honda civic\"."
        },
        "page_size": {
          "type": "integer",
          "description": "Listing rows on the source page, including repeats from earlier pages."
        },
        "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."
        },
        "next_cursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Send as cursor with page=next_page. Null at the end, when a page is mostly repeats, or after about 220 listings."
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OfferupListingsRow"
          }
        }
      }
    },
    "OfferupListingsRow": {
      "type": "object",
      "required": [
        "id",
        "title",
        "link",
        "displayed_price",
        "displayed_price_text",
        "call_for_price",
        "firm_price",
        "condition",
        "location_text",
        "city",
        "state",
        "image",
        "vehicle_miles",
        "promoted",
        "flags"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "OfferUp listing ID. Pass it to /v1/offerup/item for full details."
        },
        "title": {
          "type": "string",
          "description": "Seller title, up to 2,000 characters."
        },
        "link": {
          "type": "string",
          "description": "Public OfferUp listing URL."
        },
        "displayed_price": {
          "oneOf": [
            {
              "$ref": "#/$defs/Money"
            },
            {
              "type": "null"
            }
          ],
          "description": "USD asking price as { amount, currency }. Null when the seller asks buyers to call. Never a sale price."
        },
        "displayed_price_text": {
          "type": [
            "string",
            "null"
          ],
          "description": "Formatted USD asking price."
        },
        "call_for_price": {
          "type": "boolean",
          "description": "The listing shows \"call for price\", mostly dealer vehicles."
        },
        "firm_price": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "The seller marked the price firm, when the source says."
        },
        "condition": {
          "type": [
            "string",
            "null"
          ],
          "description": "Condition label when search shows one. Usually null; the item endpoint always has condition."
        },
        "location_text": {
          "type": [
            "string",
            "null"
          ],
          "description": "Seller-chosen area, such as Oakland, CA. Not an address."
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "City from location_text when it reads \"City, ST\"."
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "Two-letter state from location_text."
        },
        "image": {
          "type": [
            "string",
            "null"
          ],
          "description": "Thumbnail URL on the OfferUp image CDN."
        },
        "vehicle_miles": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Odometer reading shown on vehicle listings."
        },
        "promoted": {
          "type": "boolean",
          "description": "A paid placement OfferUp mixed into the results."
        },
        "flags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Raw source flags, such as LOCAL_PICKUP or CALL_FOR_PRICE."
        }
      }
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/soldgraph-com-offerup-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.