Discover/Brickset API
live

Brickset APIbrickset.com

Access LEGO set data from Brickset.com. Search by keyword, browse by theme or year, and retrieve full set details including piece count, RRP, and minifig counts.

Endpoint health
verified 6d ago
list_years
get_set_details
list_themes
list_sets_by_year
list_sets_by_theme
6/6 passing latest checkself-healing
Endpoints
6
Updated
21d ago

What is the Brickset API?

This API exposes 6 endpoints for querying the Brickset catalog of LEGO sets, covering search, theme browsing, year filtering, and per-set details. The get_set_details endpoint returns a metadata object with fields including pieces, minifigs, designer, RRP, dimensions, and year released. Listing endpoints like list_themes and list_years enumerate the full scope of available catalog dimensions.

Try it
Page number for pagination.
Search keyword (e.g. 'star wars', 'millennium falcon', 'castle').
api.parse.bot/scraper/d4370d71-31da-48c1-9748-3afc8a79a1e8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d4370d71-31da-48c1-9748-3afc8a79a1e8/search_sets?page=1&query=star+wars' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace brickset-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Brickset LEGO Database — search, browse, and drill into set details."""
from parse_apis.brickset_lego_database_api import Brickset, SetNotFound

client = Brickset()

# Browse available themes and pick one with its set count.
theme = client.themes.list(limit=3).first()
if theme:
    print(f"Theme: {theme.name} ({theme.count} sets, slug={theme.slug})")

# Search for sets by keyword, capped to 5 total items.
for summary in client.setsummaries.search(query="millennium falcon", limit=5):
    print(f"  [{summary.set_number}] {summary.name} ({summary.year}) - {summary.pieces} pieces")

# Drill into one result's full details via the navigation op.
hit = client.setsummaries.search(query="millennium falcon", limit=1).first()
if hit:
    detail = hit.details()
    print(f"Detail: {detail.name}, image={detail.image_url}")

# Typed error handling: attempt to fetch a non-existent set.
try:
    client.sets.get(set_id="99999-1")
except SetNotFound as exc:
    print(f"Set not found: {exc.set_id}")

# List sets by year, bounded.
for s in client.setsummaries.list_by_year(year=2024, limit=3):
    print(f"  2024 set: {s.name} — theme {s.theme}")

print("exercised: themes.list / setsummaries.search / details / sets.get / list_by_year")
All endpoints · 6 totalmissing one? ·

Full-text search over all LEGO sets by keyword. Returns paginated set summaries ordered by set number. Pagination via integer page parameter; each page returns up to ~25 items. An empty result set (no matches) is valid.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch keyword (e.g. 'star wars', 'millennium falcon', 'castle').
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "items": "array of set summary objects with set_number, name, year, theme, subtheme, pieces, minifigs, image_url, metadata, url",
    "has_next": "boolean indicating whether more pages are available"
  },
  "sample": {
    "data": {
      "page": 1,
      "items": [
        {
          "url": "https://brickset.com/sets/1709-1/Pen-Darth-Vader",
          "name": "Pen Darth Vader",
          "year": "2002",
          "theme": "Gear",
          "pieces": null,
          "metadata": {},
          "minifigs": null,
          "subtheme": "Pens",
          "image_url": "https://images.brickset.com/sets/small/1709-1.jpg?200211190624",
          "set_number": "1709-1"
        }
      ],
      "has_next": false
    },
    "status": "success"
  }
}

About the Brickset API

Search and Browse Endpoints

The search_sets endpoint accepts a query string and returns paginated results, each item containing set_number, name, year, theme, subtheme, pieces, minifigs, image_url, and a direct url to the set page. Pagination is handled via a page integer parameter; the has_next boolean in the response tells you whether additional pages exist. The same response shape appears in list_sets_by_year (requires a year integer) and list_sets_by_theme (requires a theme string, e.g. 'Harry Potter' or 'City').

Set Details

Passing a set_id in NUMBER-VARIANT format (e.g. 75192-1) to get_set_details returns the full metadata object for that set. This includes all available fields from the Brickset catalog — pieces, minifigs, theme, designer, RRP, year released, and dimensions — plus image_url and a description string where available. Set IDs can be harvested from the url or summary objects returned by any of the list endpoints.

Catalog Enumeration

list_themes returns the complete array of LEGO theme objects, each with a name, count (number of sets in that theme), and slug. list_years returns the same structure keyed by year and count, letting you quickly determine which years have the most catalog coverage before issuing a list_sets_by_year call. Neither endpoint takes any input parameters.

Reliability & maintenanceVerified

The Brickset API is a managed, monitored endpoint for brickset.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when brickset.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 brickset.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.

Last verified
6d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Building a LEGO set price tracker using RRP and year-released fields from get_set_details
  • Generating a theme catalog browser that lists set counts per theme via list_themes
  • Comparing piece counts and minifig counts across sets within a single theme using list_sets_by_theme
  • Finding all sets released in a given year for a retrospective collection tool via list_sets_by_year
  • Populating a personal collection database with set images, names, and set numbers from search_sets
  • Building a designer attribution lookup using the designer field returned by get_set_details
  • Displaying set thumbnails and metadata in a fan site or mobile app using image_url and metadata fields
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Brickset have an official developer API?+
Yes. Brickset provides an official API documented at https://brickset.com/article/52702/brickset-api-version-3-documentation. It requires registration for an API key and covers sets, users, and reviews. The Parse API covers the public catalog data without requiring a Brickset account or API key registration.
What does get_set_details return beyond what the list endpoints provide?+
The list endpoints return summary objects with set_number, name, year, theme, subtheme, pieces, minifigs, and image_url. get_set_details adds the full metadata object, which includes designer, RRP, dimensions, and year_released, plus a description string not available in list results.
Does the API return user reviews, ratings, or ownership stats for sets?+
Not currently. The API covers catalog metadata: set details, themes, release years, piece and minifig counts, and RRP. User-generated content such as reviews, ratings, and collection ownership counts is not included. You can fork the API on Parse and revise it to add an endpoint targeting that data.
How does pagination work across the list and search endpoints?+
All three paginated endpoints — search_sets, list_sets_by_year, and list_sets_by_theme — accept an optional page integer. The response always includes the current page value and a has_next boolean. Increment the page parameter and repeat the call until has_next is false to retrieve the full result set.
Does the API cover retired or vintage LEGO sets, or only current releases?+
The catalog includes sets across all years available on Brickset, which extends back decades. list_years returns a full list of covered years with set counts, so you can verify coverage for any specific era before querying.
Page content last updated . Spec covers 6 endpoints from brickset.com.
Related APIs in EntertainmentSee all →
bricklink.com API
Search and browse the complete BrickLink LEGO catalog to find specific parts, sets, and minifigures, with pricing and availability data. Access wanted lists and explore the full color guide across all catalog items.
joueclub.fr API
Browse LEGO sets and toys from JouéClub's French catalog, discovering product details, pricing, and current promotions all in one place. Filter by category and brand to find the perfect LEGO set or toy for your needs.
quizbowlpackets.com API
Search and browse thousands of quizbowl question sets across all competition levels, then access detailed metadata like difficulty, subjects, and download links for each packet. Find the perfect practice materials for High School, Collegiate, Middle School, or Pop Culture quizbowl competitions.
tcdb.com API
Browse and retrieve detailed trading card information from the Trading Card Database (TCDB), including set listings, checklists, parallel variants, and special notations such as rookie cards, short prints, and variations. Search across sports and years to access comprehensive card and set metadata.
pokemontcg.com API
Search and browse detailed information about Pokémon Trading Card Game cards and sets, including card types, rarities, and supertypes. Filter cards by set, rarity, and attributes to find exactly what you're looking for in the TCG database.
pkmncards.com API
Search and browse Pokémon trading card game cards with detailed metadata, high-quality images, and advanced filtering by set, Pokémon name, or card type. Filter across thousands of cards from different sets to find exactly what you're looking for.
leroymerlin.fr API
Search and browse Leroy Merlin France's complete product catalog to find items by category, view pricing, product details, and compare offerings from Leroy Merlin and their online partners. Access real-time product information including names, IDs, URLs, and seller details to help you discover and evaluate home improvement and DIY products.
blenderkit.com API
Search BlenderKit's extensive library of 3D models, materials, scenes, HDRs, and brushes, complete with detailed asset information and category browsing. Retrieve intelligent search suggestions and explore organized collections to discover assets across any creative domain.