# LPD: LEGO Product Data

URL: https://conde.sh/lpd/
Date: 2026-06-14
Tags: cloudflare, ai-tooling, api, data, seo
Live: https://lpd.conde.sh

> A collated LEGO product dataset with per-field provenance and a completeness grade: a private API + AI chat and a public, agent-discoverable product catalog, running entirely on Cloudflare.

[LPD](https://lpd.conde.sh) is a sibling project on the **[lpd.conde.sh](https://lpd.conde.sh)** subdomain. It tries to assemble the most accurate LEGO set data anywhere by collating several sources and recording exactly where every field came from.

## What it does

Give it a LEGO set number and it returns everything known about that set: name, live pricing and availability, piece count, age, dimensions, barcodes, designer, minifigures, customer ratings, and a neutral synthesis of long-form third-party reviews. Each value carries **per-field provenance** (which source won it), and the set gets a **completeness grade** (`bad` → `poor` → `good` → `great` → `perfect`) showing how much of the picture is actually filled in.

## How it's built

- lego.com is the backbone. Live pricing, availability and specs come from lego.com; Rebrickable (inventory, minifigs, theme hierarchy) and Brickset (RRP, barcodes, dimensions) fill the gaps. If lego.com can supply a field, it wins.
- Collection runs entirely on Cloudflare, with no GitHub Actions. An hourly cron Worker reads an allowlist from D1, builds each product, enriches it, and gathers related content. Everything is idempotent and quality-gated: it only chases missing data while a set is incomplete, then backs off after a few empty checks, so scrapes stay polite and AI spend stays bounded.
- Two faces: a private, token-gated REST API plus a streaming Claude chat for exploring the catalog, and a public, server-rendered product page per set with strong SEO and a full schema.org `Product` graph.

## Agent-discoverable by design

LPD leans hard into being readable by machines. Every product page has a Markdown twin (`/product/{number}.md`), the whole catalog is published as [`llms.txt`](https://lpd.conde.sh/llms.txt) and `llms-full.txt`, RFC 8288 `Link` headers and a `sitemap.xml` advertise it, schema.org JSON-LD describes each product, and **DNS-AID** records under `_agents.lpd.conde.sh` let an agent discover it straight from DNS. Search and anything that spends AI tokens stay behind the token; the data itself is open.

→ **[lpd.conde.sh](https://lpd.conde.sh)** · [llms.txt](https://lpd.conde.sh/llms.txt) · [example product](https://lpd.conde.sh/product/75192)
