OfferUp listing details

GET /v1/offerup/item returns one OfferUp listing with description, posted date, condition, coordinates, shipping, photos, seller and vehicle details.

GEThttps://api.soldgraph.com/v1/offerup/item

Look up one listing by the id from OfferUp local listings, by its numeric item number, or by its offerup.com/item/detail/... URL. The result adds what search results don't show: description, posted date, condition, approximate coordinates, shipping, all photos, category, seller profile and vehicle details.

ParameterTypeDefaultDescription
qstringRequiredOfferUp listing ID from search results, the numeric item number, or an offerup.com/item/detail/... URL.
countryususOnly us is supported.
marketplaceofferupofferupOptional; must match the path.
curl -G https://api.soldgraph.com/v1/offerup/item \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  -d q=0f979dba-51bf-355c-851f-bfce6924a6e2

A cache miss returns 202 with a job to poll. A successful lookup costs one credit. A listing that doesn't exist fails with not_found and costs nothing. Results are cached for 15 minutes.

#What the fields mean

  • status is the state the seller set: active, pending, sold, removed or another lowercase source value. A sold status is not a verified sale record, and its price is the last ask, not a sale price.
  • displayed_price is the current ask. original_price is the earlier ask when the seller lowered it.
  • location is the public listing area with approximate coordinates. It is not an address.
  • vehicle is filled for listings in Vehicles. Year, make, model, mileage, VIN and title status are seller supplied.
  • seller is the public profile shown on the listing.

#Example response

This listing was collected on October 1, 2026 (UTC). The seller name is replaced.

Response
{  "request_id": "example-offerup-item",  "status": "complete",  "credits": 1,  "cached": false,  "result": {    "provider": "offerup",    "country": "us",    "query": "0f979dba-51bf-355c-851f-bfce6924a6e2",    "collected_at": "2026-10-01T15:19:16.137068+00:00",    "schema_version": 1,    "count": 1,    "data": {      "id": "0f979dba-51bf-355c-851f-bfce6924a6e2",      "item_number": "1861069628",      "title": "Red Mountain Bike with Rear Derailleur",      "description": "Red frame mountain bike with knobby tires, black saddle, flat handlebars with brake levers, platform pedals, and a multi-speed rear cassette with derailleur.",      "link": "https://offerup.com/item/detail/0f979dba-51bf-355c-851f-bfce6924a6e2",      "status": "active",      "displayed_price": {        "amount": 55,        "currency": "USD"      },      "original_price": null,      "condition": "used",      "condition_code": 40,      "posted_at": "2026-10-01T02:03:25.109000+00:00",      "edited_at": null,      "quantity": 1,      "firm_price": false,      "location": {        "name": "Colma, CA",        "latitude": 37.72,        "longitude": -122.413      },      "local_pickup": true,      "shipping": {        "available": false,        "price": null,        "seller_pays": false,        "buy_now": false      },      "category": {        "id": "7.4",        "path": [          "Sports & Outdoors",          "Bikes & Cycling"        ]      },      "photos": [        "https://images.offerup.com/ETYpyjYCzGQ0-cWAGqhHTDIPTZ0=/960x1280/2bb8/2bb8802d7a6a40239227dcecc7dc00f8.jpg",        "https://images.offerup.com/0Qx4ZcvnVPhg8wNp-oYZH41N0M0=/960x1280/a922/a922af461d7a4d21a8005bce8c1dfe08.jpg",        "https://images.offerup.com/r3sYQgBXDczfOb816FWdzqIa4cY=/960x1280/770d/770d58a6a9df4108bcb4d21ab267a28f.jpg",        "https://images.offerup.com/zvqOETGwRUHqhpEDF3ws9l6JWf0=/960x1280/ac68/ac68900a44824052af52d824cdfe986d.jpg",        "https://images.offerup.com/SmjTrgnkif38G9AR162TBzmXcuc=/960x1280/f68d/f68d20bc8d1e4e1b87b3581b866eacec.jpg",        "https://images.offerup.com/8do4_zz8BWvvGfjisciBSYe6AiU=/1280x960/3a6b/3a6b08041ef843a4a79f0689696a846f.jpg",        "https://images.offerup.com/SnodxgySW1lymtmEtX4M678Z9UI=/960x1280/df54/df54e47ed50641e19ed50faa07ec9de2.jpg"      ],      "seller": {        "id": "12345678",        "name": "Example Seller",        "joined_at": "2016-09-13T19:58:56+00:00",        "items_sold": 102,        "rating_average": 5,        "rating_count": 14,        "business": false,        "auto_dealer": false,        "truyou_verified": null      },      "vehicle": null    },    "field_notes": "One OfferUp listing as shown publicly. Prices are seller asks in USD. status is the seller-set listing state; a sold status is not a verified sale record and its price is not a transaction price. Coordinates are the approximate public listing location, not an address."  }}
FieldTypeDescription
request_idstringID of this request. Poll it at /v1/jobs/{request_id}.
statusstringpending, complete or failed. Always check it, even on HTTP 200.
creditsintegerRequests charged: 1 when complete, 0 while pending or when failed.
cachedbooleanTrue when the result came from the 15-minute cache.
poll_urlstringOnly while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL.
error.codestringOnly when failed. See failed job codes.
resultobjectOnly when complete. One source page from the marketplace.
result.providerstringMarketplace ID, like ebay or poshmark.
result.countrystringAlways us.
result.querystringThe q you sent, with extra spaces removed.
result.pageintegerThe page you asked for.
result.countintegerRows in result.data on this page.
result.reported_totalintegerTotal matches the marketplace reports for the search. It may be rounded or capped.
result.next_pageinteger | nullSend this as page to get the next page. Null on the last page, and on page 100, the deepest page served.
result.collected_atstringWhen we collected the page, as an ISO 8601 timestamp.
result.schema_versionintegerVersion of this response shape. Currently 2.
result.completenessstringAlways provider_page_only: one page, not a full sales history.
result.field_notesstringPlain-text notes on how to read this page's fields.
result.data.idstringOfferUp listing ID.
result.data.item_numberstringOfferUp numeric item number. Also accepted as q.
result.data.statusstringactive, pending, sold, removed or another lowercase source state. The seller sets it: sold is not a verified sale, and its price is not a sale price.
result.data.descriptionstring | nullSeller description, up to 10,000 characters.
result.data.displayed_priceobject | nullCurrent USD asking price.
result.data.original_priceobject | nullEarlier asking price when the seller lowered it, else null.
result.data.conditionstring | nullnew, open_box, refurbished, used, for_parts or other. condition_code is the raw source number.
result.data.posted_atstring | nullWhen the listing was posted, in UTC.
result.data.edited_atstring | nullLast seller edit in UTC, when present.
result.data.locationobjectPublic listing area as { name, latitude, longitude }. Approximate, not an address.
result.data.local_pickupboolean | nullLocal pickup is offered.
result.data.shippingobjectavailable, price (a USD object or null), seller_pays and buy_now.
result.data.categoryobjectCategory id, and path names from the top level down.
result.data.photosstring[]Full-size photo URLs on the OfferUp image CDN.
result.data.sellerobjectPublic profile: id, name, joined_at, items_sold, rating_average, rating_count, business, auto_dealer and truyou_verified.
result.data.vehicleobject | nullFor Vehicles listings: year, make, model, trim, miles, vin, title_status, transmission, drivetrain, fuel_type, color and body. Seller supplied.
Try it
Request
curl -G https://api.soldgraph.com/v1/offerup/item \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  -d q=0f979dba-51bf-355c-851f-bfce6924a6e2
Sign in to runFree account, no card.