Topps APItopps.com ↗
Retrieve product name, price range, availability, pre-order status, and variant details from any topps.com product page via a single API endpoint.
What is the Topps API?
The Topps.com API exposes 1 endpoint — get_product — that returns 12 structured fields for any topps.com product page, including name, price range, variant-level availability, pre-order status, and badge strings. Supply the product URL slug (e.g. 2026-topps-chrome-formula-1%C2%AE-value-box) and get back a complete detail record covering pricing in native currency, sold-out flags, SKUs, and compare-at prices across all variants.
curl -X GET 'https://api.parse.bot/scraper/7067b76a-bc8b-4702-b1b8-fe120949e74d/get_product?handle=2026-topps-chrome-formula-1%C2%AE-value-box' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the detail record for one topps.com product page identified by its URL slug (the part after /products/). One page fetch per call. Includes name, price range (amount + currency as the site serves it), availability flags, pre-order status, street/release date, purchase quantity limits, product attributes, HTML descriptions, per-variant price/SKU/availability, and the collections the product belongs to. availability_status is one of sold_out, in_stock, pre_order: it is in_stock or pre_order when the site marks the product available for sale (pre_order when it also carries the site's Pre-Order badge), otherwise sold_out. can_add_to_cart mirrors available_for_sale; can_pre_order is true only when the product is both available for sale and badged Pre-Order; sold_out is the site's own sold-out flag. The pre_order and in_stock branches were not exercised on the build sample (which was a sold-out pre-order). Numeric metafields (limit_qty_per_customer, limit_qty_per_cart, packs_per_box, cards_per_pack) are returned as the site's decimal strings and may be null; street_date is an ISO-8601 timestamp or null. An unknown slug returns a stale_input error (input_not_found).
| Param | Type | Description |
|---|---|---|
| handlerequired | string | Product URL slug exactly as it appears after /products/ on topps.com, including any special characters such as ® (e.g. 2026-topps-chrome-formula-1®-value-box). |
{
"type": "object",
"fields": {
"url": "canonical product page URL",
"name": "product title",
"brand": "brand name or null",
"price": "object {amount: number, currency: string} — lowest variant price",
"badges": "array of site badge strings",
"handle": "product URL slug",
"category": "category or null",
"sold_out": "boolean, site's sold-out flag",
"variants": "array of {variant_id, title, sku, price, compare_at_price, available_for_sale}",
"price_max": "object {amount: number, currency: string} — highest variant price",
"sub_brand": "sub-brand name or null",
"product_id": "string numeric Shopify product id",
"collections": "array of {id, title, handle} collections containing the product",
"street_date": "ISO-8601 release/street date or null",
"is_pre_order": "boolean, product carries the Pre-Order badge",
"product_type": "product type or null",
"product_year": "product year string or null",
"can_pre_order": "boolean, pre-order currently open (available_for_sale and is_pre_order)",
"packs_per_box": "decimal string or null",
"cards_per_pack": "decimal string or null",
"can_add_to_cart": "boolean, true when the product can currently be added to cart",
"unit_of_measure": "selling unit (e.g. Box) or null",
"description_html": "HTML long description",
"available_for_sale": "boolean, site's available-for-sale flag",
"limit_qty_per_cart": "decimal string purchase limit per cart or null",
"availability_status": "string: sold_out | in_stock | pre_order",
"limit_qty_per_customer": "decimal string purchase limit per customer or null",
"short_description_html": "HTML short description incl. pre-order terms, or null"
},
"sample": {
"data": {
"url": "https://www.topps.com/products/2026-topps-chrome-formula-1®-value-box",
"name": "2026 Topps Chrome Formula 1® - Value Box",
"brand": "Topps",
"price": {
"amount": 34.99,
"currency": "USD"
},
"badges": [
"Pre-Order"
],
"handle": "2026-topps-chrome-formula-1®-value-box",
"category": "Sports",
"sold_out": true,
"variants": [
{
"sku": "FGC006881-DB",
"price": {
"amount": 34.99,
"currency": "USD"
},
"title": "Default Title",
"variant_id": "48908821921949",
"compare_at_price": null,
"available_for_sale": false
}
],
"price_max": {
"amount": 34.99,
"currency": "USD"
},
"sub_brand": "Chrome®",
"product_id": "9044148453533",
"collections": [
{
"id": "327244415133",
"title": "Topps",
"handle": "topps"
},
{
"id": "327471071389",
"title": "All Products",
"handle": "all-products"
}
],
"street_date": "2026-10-15T00:00:00.000Z",
"is_pre_order": true,
"product_type": "Hobby",
"product_year": "2026",
"can_pre_order": false,
"packs_per_box": "7.0",
"cards_per_pack": "4.0",
"can_add_to_cart": false,
"unit_of_measure": "Box",
"description_html": "<p>2026 Topps Chrome Formula 1® is the flagship premium F1® trading card release...</p>",
"available_for_sale": false,
"limit_qty_per_cart": "10.0",
"availability_status": "sold_out",
"limit_qty_per_customer": "40.0",
"short_description_html": "<p>7 packs per box. 4 cards per pack.</p><p><strong>PRE-ORDER DETAILS:</strong></p><p>Orders placed during the pre-order window are scheduled to begin shipping in advance of the product release date, <strong>October 15, 2026</strong>...</p>"
},
"status": "success"
}
}About the Topps API
What get_product Returns
The get_product endpoint accepts a single required parameter — handle — which is the URL slug exactly as it appears after /products/ on topps.com, including URL-encoded special characters. The response includes the canonical url, product name, brand, and category fields alongside availability signals: a top-level sold_out boolean and per-variant available_for_sale flags.
Pricing and Variant Data
Pricing is returned as two objects: price (the lowest variant price) and price_max (the highest variant price), each containing an amount (number) and currency string as served by the site. The variants array breaks down every product variant with its own variant_id, title, sku, price, compare_at_price, and available_for_sale status — useful for detecting markdowns or multi-SKU box sets.
Badges and Pre-Order Status
The badges field returns the array of site badge strings assigned to the product, which can indicate pre-order status, exclusivity, or promotional tagging. Combined with availability flags, this gives a complete snapshot of whether an item can be purchased immediately, is upcoming, or is sold out at the time of the request.
Coverage Scope
The API covers individual product pages identified by their handle. One call returns one product record. It does not paginate across the full catalog — to monitor multiple products, call get_product once per handle.
The Topps API is a managed, monitored endpoint for topps.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when topps.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official topps.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor pre-order status and
sold_outflag for upcoming Topps card releases - Track
priceandprice_maxchanges across variants of Topps hobby boxes - Build a price-drop alert when
compare_at_priceexceedspriceon any variant - Check
available_for_saleper variant to detect partial restocks on multi-variant products - Aggregate
badgesstrings to identify exclusive or limited-edition product designations - Sync Topps product names, SKUs, and canonical URLs into a collectibles inventory system
- Verify
currencyandamountfields for multi-region pricing research on trading card products
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Topps have an official developer API?+
What does the `variants` array actually include?+
variants contains variant_id, title, sku, price, compare_at_price, and available_for_sale. This lets you distinguish between, for example, a hobby box and a value box listed under the same product handle, and see whether each is individually purchasable or sold out.Does the API cover customer reviews or ratings for Topps products?+
Can I retrieve a list of all products in a Topps category or collection?+
get_product endpoint fetches one product record per call using its handle. Catalog browsing or collection-level listing is not covered. You can fork this API on Parse and revise it to add a collection or search endpoint that returns multiple handles.How fresh is the availability data returned by get_product?+
get_product returns data at the time the request is made. The sold_out and available_for_sale fields reflect the current state of the product page. There is no caching layer built into the endpoint contract, but high-frequency polling should account for any request latency on your end.