Skip to documentation
DOCUMENTATIONAPI referenceProductsGet current listings
PRODUCTS / V1

Get current listings

Page through seller offers with condition, quantity, item price, shipping, and total price.

GET/v1/products/{productId}/listings
Bearer key requiredJSON response

Price sorting uses item price. The total after shipping can appear out of order.

Example requestv1
curl --request GET \  --url 'https://pokepos-market-api.vercel.app/v1/products/704860/listings?offset=0&limit=10' \  --header 'Authorization: Bearer YOUR_API_KEY'
Response illustrative JSON
{  "source": "tcgplayer-public-site",  "productId": 704860,  "total": 485,  "offset": 0,  "limit": 10,  "sort": "price",  "offers": [    {      "listingId": 123,      "skuId": 456,      "seller": {        "id": "seller_example",        "name": "Example Seller",        "direct": false,        "verified": true      },      "condition": "Near Mint",      "variant": "Holofoil",      "quantity": 2,      "itemPrice": 2.99,      "shippingPrice": 1.99,      "totalPrice": 4.98,      "currency": "USD"    }  ],  "fetchedAt": "2026-09-29T12:30:00.000Z",  "cacheHit": false}
Example values can change with the source.
REQUEST

Parameters

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

productIdintegerrequiredpath

Numeric TCGplayer product ID. Range: 1–any. Example: 716465.

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–100. Default: 50.

sortstringquery

Ordering for the returned results or offers. Values: price, none. Default: price.

conditionstringquery

Filter offers to a specific card condition. Up to 80 characters.

variantstringquery

Filter offers to a specific printing finish or variant. Up to 80 characters.

languagestringquery

Filter offers to a specific card language. Up to 80 characters.

RESPONSE

Response object

Paginated current offers. The root schema is ListingsResult.

sourcestring

Name of the market data source.

productIdinteger

Numeric ID for the exact catalog product.

totalinteger | null

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.

offersOffer[]

Current seller offers for the selected page.

fetchedAtstring

Time this section was fetched, in ISO 8601 format.

cacheHitboolean

Whether the response used a cached observation.

SCHEMAS

Related objects

Expand a type to inspect its fields.

Offer11 fields
listingIdinteger

Source identifier for this specific offer.

skuIdinteger | null

Numeric ID of one condition and variant combination.

sellerSeller

Seller identity and reputation metadata.

conditionstring | null

Card condition associated with this SKU or offer.

variantstring | null

Printing finish or variant associated with this SKU or offer.

languagestring | null

Language associated with this SKU or offer.

quantityinteger | null

Available quantity on this offer.

itemPricenumber | null

US dollars. Null means no observation is available.

shippingPricenumber | null

US dollars. Null means no observation is available.

totalPricenumber | null

US dollars. Null means no observation is available.

currencystring

Always USD.

Seller6 fields
idstring | null

Identifier for this item or seller.

namestring | null

Display name from the source catalog.

ratingPercentnumber | null

Seller rating percentage, when available.

salesstring | null

Source-formatted seller sales count.

directboolean

Whether the offer participates in source direct fulfillment.

verifiedboolean

Whether the source marks this seller as verified.

HTTP

Status codes

200

Paginated current offers.

400

Invalid parameter or request body.

404

Product, route, or image not found.

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.