Skip to documentation
DOCUMENTATIONAPI referenceCatalogSearch products
CATALOG / V1

Search products

Find products by name, category, and set. Use offset and limit to page through catalog results.

GET/v1/search
Bearer key requiredJSON response

Offset pagination is capped at 10,000 results. Narrow broad searches with category and set.

Example requestv1
curl --request GET \  --url 'https://pokepos-market-api.vercel.app/v1/search?q=Mew%20ex&category=pokemon&limit=10' \  --header 'Authorization: Bearer YOUR_API_KEY'
Response illustrative JSON
{  "source": "tcgplayer-public-site",  "fetchedAt": "2026-09-29T12:30:00.000Z",  "cacheHit": false,  "query": "Mew ex",  "category": "pokemon",  "set": null,  "total": 1,  "offset": 0,  "limit": 10,  "sort": "relevance",  "products": [    {      "productId": 716465,      "name": "Mew ex - 066/128",      "cardNumber": "066/128",      "marketPrice": 5.45    }  ]}
Example values can change with the source.
REQUEST

Parameters

Pass path parameters in the URL and query parameters after ?.

qstringquery

Card or product text to match. A collector number can be included. Up to 120 characters. Example: Mew ex.

categorystringquery

Product line slug returned by the categories route, such as pokemon. Example: pokemon.

setstringquery

Optional set name or slug to narrow the search to one release. Example: me-30th-celebration.

offsetintegerquery

Zero-based index of the first result to return. Range: 0–10000. Default: 0.

limitintegerquery

Maximum number of results to include in this response. Range: 1–50. Default: 24.

sortstringquery

Ordering for the returned results or offers. Values: relevance, name.

RESPONSE

Response object

Paginated catalog products. The root schema is SearchResult.

sourcestring

Name of the market data source.

fetchedAtstring

Time this section was fetched, in ISO 8601 format.

cacheHitboolean

Whether the response used a cached observation.

querystring

Original or normalized search text.

categorystring | null

Product line or category for this result.

setstring | null

Selected set filter, when provided.

totalinteger

Number of matching results or offers reported by the source.

offsetinteger

Zero-based offset used for this page.

limitinteger

Maximum results requested for this page.

sortstring

Ordering applied to the results.

productsProductSummary[]

Product summaries matching the query.

SCHEMAS

Related objects

Expand a type to inspect its fields.

ProductSummary11 fields
productIdinteger

Numeric ID for the exact catalog product.

namestring

Display name from the source catalog.

categorystring | null

Product line or category for this result.

setNamestring | null

Value returned by the market data source.

setIdinteger | null

Value returned by the market data source.

cardNumberstring | null

Collector number printed on the card.

raritystring | null

Rarity label reported by the catalog.

sealedboolean

Whether the product is sealed rather than a single card.

marketPricenumber | null

US dollars. Null means no observation is available.

lowestPricenumber | null

US dollars. Null means no observation is available.

listingCountinteger | null

Number of current listings, when reported.

HTTP

Status codes

200

Paginated catalog products.

400

Invalid parameter or request body.

502

An upstream market source is unavailable.

Errors use the error.code and error.message shape. Keep the x-request-id response header for support and tracing.