Skip to main content
Glama

OfferUp local listings

offerup_listings
Read-onlyIdempotent

Search one page of OfferUp US active listings near a ZIP code or point, about 50 rows. Prices are seller asks. No sold search. Results are cached for 15 minutes. Each completed search costs 1 request, cache hits included; failed searches are free. Docs: https://soldgraph.com/docs/api/offerup-listings

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesSearch keywords, 1–200 characters, as you'd type them into the marketplace's search box. Be specific: model, size, grade, edition.
latNoLatitude of the search center in decimal degrees. Use with lon instead of zip for an exact point. Rounded to 4 decimals (about 11 m).
lonNoLongitude of the search center in decimal degrees. Use with lat.
zipNoFive-digit US ZIP code to search around. Send zip, or both lat and lon. Unknown ZIP codes return 422.
pageNoSource page to fetch. Where an endpoint has cursor, pages after 1 also need it.
sortNoSource ranking, newest posted, nearest, or asking price low to high or high to low. newest_model and lowest_mileage work only on vehicle searches.best_match
cursorNoPrevious page's next_cursor. Omit it on page 1. Keep every other parameter unchanged.
fieldsNosummary keeps the fields most agents need; full returns every field the API returns.summary
radiusNoSearch radius in miles. Most searches offer 5, 10, 20, 30 or 50. Vehicle searches offer 25, 80, 100, 200 or 5000 (nationwide). If this kind of search doesn't offer your value, we use the widest offered radius below it, or else the smallest offered. result.location.radius_miles shows what was applied. Omit it for the source default: 30, or 80 for vehicles.
categoryNoOfferUp category ID, such as 5 (Vehicles), 5.1 (Cars & Trucks) or 1.2 (Cell phones). The endpoint page lists the top-level IDs.
conditionNoOne condition, or several separated by commas, such as new,open_box. OfferUp labels these differently for vehicles; see the endpoint page.
max_priceNoHighest price, in whole units of the country's currency (US dollars for us). Optional. You can send it without min_price.
min_priceNoLowest price, in whole units of the country's currency (US dollars for us). Optional. Must not be more than max_price. You can send it without max_price.
vehicle_makeNoVehicle searches only. One make, or several separated by commas, such as honda,toyota.
vehicle_styleNoVehicle searches only. One body style, or several separated by commas.
vehicle_drivetrainNoVehicle searches only. One drivetrain, or several separated by commas.
vehicle_max_mileageNoVehicle searches only. Highest odometer reading.
vehicle_transmissionNoVehicle searches only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, and the description goes well beyond them: 15-minute result cache, one request charged per completed search including cache hits, failed searches free, ~50 rows per page, and that prices are seller asks rather than transaction prices. Cost and caching semantics are exactly the kind of behavior an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with zero filler, and the most important framing (what is searched, geographic scoping, no sold data) is front-loaded ahead of billing and caching notes. Every sentence carries distinct, actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter, high-complexity tool with no output schema, the description covers result size, pricing semantics, caching, and cost, which is most of what an agent needs. It leaves pagination/cursor usage entirely to the schema, which is acceptable but means the description does not fully stand on its own for multi-page retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 18 parameters in detail (radius fallback behavior, cursor chaining, sort enum limits, etc.). The description only restates that the search centers on a ZIP or point, adding no new syntax or format guidance beyond what the schema provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) and resource (OfferUp US active listings) with scope qualifiers: one page, near a ZIP code or point, about 50 rows. It also explicitly excludes sold search, which matters because sibling tools like ebay_sold and mercari_sold exist. An agent can distinguish this from offerup_item (single item) and the *_sold siblings on name+description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context (active listings near a location, not sold data) and a useful exclusion ("No sold search"), so the agent knows this is a live-listing search. It does not, however, point to a specific alternative or spell out when a different search tool (eBay, Mercari, etc.) would be preferred; the routing is implied by the OfferUp name rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.