Topps APIlaunches.topps.com ↗
Access Topps US limited-release launch data: product names, SKUs, prices, inventory variants, shipping countries, and open/upcoming/closed status via 2 endpoints.
What is the Topps API?
The Topps Launches API covers the full listing at launches.topps.com across 2 endpoints, returning launch identifiers, slugs, SKUs, pricing, status, and inventory variants for every US limited-release product. The list_launches endpoint pages through open, upcoming, and closed launches with optional name filtering, while get_launch returns the complete record for a single product including shipping countries, processing hours, fee objects, and per-variant purchase limits.
curl -X GET 'https://api.parse.bot/scraper/79d19729-33e1-4ce6-9d65-cb0fd2477169/list_launches?query=formula+1&status=closed&page_size=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns Topps US launches from the launches listing, newest start date first, one row per launch (a hobby box and its sealed case are separate launches). Each row carries the launch identifier, slug, product name, SKU, price and currency, start/end and listing timestamps (ISO 8601 UTC), and a computed status: 'upcoming' (before start), 'open' (between start and end) or 'closed' (after end). The site's own page only displays open and upcoming launches, so an empty result for status=open is normal when nothing is live; the full history of closed launches is still returned. Optional status and query filters are applied over the whole set before paging; total_matching counts rows after filtering and total_launches counts every launch the site publishes. Paging is by page and page_size (page_size is capped at 100); omitting them returns the first 20 rows. One upstream request per call.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number over the filtered result set. |
| query | string | Case-insensitive substring matched against the product name and subtitle (one shape: 'formula 1'). Omitted = no text filter. |
| status | string | Filter by computed launch status. 'all' disables the filter. |
| page_size | integer | Rows per page, capped at 100. |
{
"type": "object",
"fields": {
"page": "integer page returned",
"has_more": "boolean, true when a later page exists in the filtered set",
"launches": "array of launch summaries: launch_id, slug (input to get_launch), product, subtitle (nullable), sku, status (open|upcoming|closed), price (number, in currency), currency, start, end, listing_date (ISO 8601 UTC), timezone (site display timezone), country, access_type, image_url, launch_url",
"page_size": "integer rows per page applied",
"total_launches": "integer count of every launch the site publishes, before filtering",
"total_matching": "integer count of launches matching the status/query filters"
},
"sample": {
"data": {
"page": 1,
"has_more": true,
"launches": [
{
"end": "2026-09-15T16:00:00.000Z",
"sku": "FGC006877-DB",
"slug": "2026-topps-chrome-formula-1r-hobby-box-pre-order",
"price": 469.99,
"start": "2026-09-15T15:00:00.000Z",
"status": "closed",
"country": "US",
"product": "2026 Topps Chrome Formula 1® - Hobby Box - Pre-Order",
"currency": "USD",
"subtitle": null,
"timezone": "America/New_York",
"image_url": "https://cdn.eql.media/draw-api/9201f031-26db-4f29-ad0a-8df9f073c959/1362dfab-6fd3-4eda-8195-2f3ef3e0846e.png",
"launch_id": "TS0292US",
"launch_url": "https://launches.topps.com/en-US/launch/2026-topps-chrome-formula-1r-hobby-box-pre-order",
"access_type": "PUBLIC",
"listing_date": "2026-09-15T17:00:00.000Z"
}
],
"page_size": 1,
"total_launches": 254,
"total_matching": 254
},
"status": "success"
}
}About the Topps API
What the API Covers
The API exposes Topps US limited-release product launches as listed at launches.topps.com. Each launch represents a distinct purchasable SKU — a hobby box and its sealed case are tracked as separate launch records. Data includes launch_id, slug, product name, subtitle, sku, price, currency, status (open, upcoming, or closed), and ISO 8601 UTC timestamps for start, end, and listing_date.
list_launches Endpoint
list_launches returns a paginated array of launch summaries, sorted by newest start date first. The status parameter accepts open, upcoming, closed, or all to disable filtering. The query parameter does a case-insensitive substring match against the product name and subtitle — for example, passing 'formula 1' returns only Formula 1 releases. Pagination is controlled with page and page_size (capped at 100 rows). The response includes total_launches (all launches before filtering) and total_matching (launches matching your filters), alongside a has_more boolean for cursor-style pagination.
get_launch Endpoint
get_launch accepts a slug exactly as emitted by list_launches and returns the full launch record. Beyond the summary fields, it adds description (long product text), an extra description field with shipping and pre-order notes, processing_hours, supported collection_methods, and an array of shipping_countries. The inventory array lists each purchasable variant by inventory_id, name, max_quantity_per_entry, and an optional image_url. The fees array reflects any additional charges published for the launch, though it is typically empty.
The Topps API is a managed, monitored endpoint for launches.topps.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when launches.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 launches.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 when new Topps releases move from
upcomingtoopenstatus to trigger purchase alerts - Track price and SKU data across hobby box and sealed case variants for the same product
- Build a countdown tool using
startandendISO 8601 timestamps for upcoming launches - Filter launches by name substring (e.g., 'bowman', 'formula 1') to track specific product lines
- Inspect
max_quantity_per_entryper inventory variant to surface per-customer purchase limits - Identify which launches ship to specific countries using the
shipping_countriesfield inget_launch - Aggregate historical closed launches by listing date to analyze Topps release cadence over time
| 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 for launches.topps.com?+
How does status filtering work in list_launches, and what values are valid?+
status parameter accepts open (currently accepting orders), upcoming (not yet started), or closed (end date has passed). Passing all disables the filter and returns every launch regardless of status. Status is computed from the start and end timestamps, so a launch transitions automatically as time passes.Does the API cover Topps international or non-US storefronts?+
Does get_launch return secondary market pricing or sold-out inventory counts?+
inventory array reflects the variants and per-entry quantity limits as published on the launch page, not real-time remaining stock counts. The API covers the price field as listed at time of retrieval. You can fork this API on Parse and revise it to track price changes over time by storing snapshots.Is there a limitation on how many launches list_launches can return per request?+
page_size is capped at 100 rows per page. For result sets larger than 100 launches, use the page parameter alongside has_more to paginate. The total_matching field tells you exactly how many results match your current status and query filters so you can calculate the number of pages needed.