Search OfferUp listings

GET https://api.api.sh/offerup/v1/search
1 credit / call e-commerce try it in the playground →

OfferUp (US) local listings around a ZIP code for a keyword with radius, price, condition and sort: title, price, condition, location, photo, flags (local pickup, shipping) and vehicle miles. About 50 results a page; filters lists the options. next_cursor fetches the next page: pass it back as cursor with the same search parameters (null when there are no more).

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
qrequired string Keywords. Example: bike
ziprequired string US ZIP code to search around. Example: 10001
radius 5 | 10 | 20 | 30 | 50 Radius in miles.
price_min string Minimum price (USD).
price_max string Maximum price (USD).
condition string Comma-separated: new, open_box, refurbished, used, broken, other.
sort relevance | newest | distance | price_asc | price_desc Sort order.
cursor string Next page: next_cursor from the previous response, unchanged, with the same q, zip and filters.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/offerup/v1/search?q=bike&zip=10001" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.