BrickLink APIbricklink.com ↗
Search LEGO parts, sets, and minifigures on BrickLink. Get pricing, availability, color guides, and category listings via a clean REST API.
What is the BrickLink API?
This API exposes 4 endpoints covering the BrickLink LEGO catalog and marketplace, letting you search items by keyword, retrieve detailed price guides and for-sale listings for specific parts or sets, enumerate catalog categories by item type, and pull the full color reference. The get_item_details endpoint returns both a 6-month sales history and a live preview of up to 10 current listings, making it practical for pricing and sourcing workflows.
curl -X GET 'https://api.parse.bot/scraper/780098fe-28a1-4efb-8c4e-adbcea1a29c4/search_catalog?query=brick+2x4&item_type=P' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search across the BrickLink catalog by keyword. Returns up to 25 items per page with pricing and availability counts for new and used conditions. Results are scoped to one item_type at a time. Each result includes min prices and seller counts sufficient for comparison without a detail fetch.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (e.g., 'brick 2x4', 'millennium falcon') |
| item_type | string | Item type filter: P (Parts), S (Sets), M (Minifigures), B (Books), G (Gear), C (Catalogs), I (Instructions), O (Original Boxes) |
{
"type": "object",
"fields": {
"items": "array of item objects with item_no, name, item_type, new_qty, new_sellers, new_min_price, used_qty, used_sellers, used_min_price",
"total": "integer total count of matching items"
},
"sample": {
"data": {
"items": [
{
"name": "Brick 2 x 4",
"item_no": "3001",
"new_qty": 6216421,
"used_qty": 2459479,
"item_type": "P",
"new_sellers": 6070,
"used_sellers": 74791,
"new_min_price": "US $0.007",
"used_min_price": "US $0.0009"
}
],
"total": 1340
},
"status": "success"
}
}About the BrickLink API
Search and Browse the Catalog
The search_catalog endpoint accepts a free-text query and an optional item_type filter (P for Parts, S for Sets, M for Minifigures, and several others). Each result in the items array carries item_no, name, item_type, and separate availability figures for new and used conditions: new_qty, new_sellers, new_min_price, used_qty, used_sellers, and used_min_price. Pagination returns up to 25 items per page, and total tells you the full match count. To browse by category rather than keyword, list_categories returns an alphabetically sorted array of id and name objects for a given item_type.
Item Details and Price Guides
get_item_details takes an item_no (e.g. 3001 for a classic brick, 75192-1 for a set including its variant suffix) plus optional color_id and item_type parameters. The response includes the item's name, internal_id, and a colors array listing every color variant BrickLink tracks for that item — each row has color_id, color_name, and lots_for_sale. The price_guide object breaks down last_6_months_sales into new and used buckets, each with times_sold, total_qty, and min/max/average price fields. When a color_id is supplied, for_sale_total and the for_sale_preview array (up to 10 listings with seller username, country, quantity, and price) are scoped to that color.
Color Guide
get_color_guide takes no parameters and returns the complete BrickLink color reference. Each entry in the colors array carries a numeric id, a name, and four market-depth integers: parts (how many distinct parts exist in that color), in_sets, a wanted-list demand count, and a for-sale inventory count. This is the canonical place to resolve a color name to its BrickLink color_id before calling get_item_details.
The BrickLink API is a managed, monitored endpoint for bricklink.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bricklink.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 bricklink.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?+
- Build a LEGO part price tracker using
new_min_priceandused_min_pricefromsearch_catalogto monitor cost trends over time. - Populate an inventory management app with per-color lot counts from the
colorsarray returned byget_item_details. - Identify the cheapest sellers for a specific part-color combination using
for_sale_previewwith a scopedcolor_id. - Generate a set completion cost estimate by querying
get_item_detailsfor each part in a build and aggregatingprice_guideaverages. - Map BrickLink color names to numeric IDs for downstream data pipelines using
get_color_guideas a lookup table. - Drive a catalog browsing UI by fetching category names and IDs from
list_categoriesfiltered by item type. - Assess market liquidity for a specific minifigure by reading
times_soldandtotal_qtyfrom theprice_guidenew/used breakdown.
| 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 BrickLink have an official developer API?+
What does `get_item_details` return when no `color_id` is provided?+
color_id, the response returns the full colors array listing every color variant for the item, but for_sale_preview and for_sale_total reflect aggregate inventory rather than a single-color view. Supplying a numeric color_id (obtainable from get_color_guide) scopes both the preview listings and the for-sale count to that specific color.Can I retrieve a user's BrickLink store inventory or order history?+
How many results does `search_catalog` return per call, and can I page through them?+
total field in the response indicates the full match count for the query. Searches are scoped to one item_type at a time, so a search for parts will not return sets in the same response.