Build on the product ledger
Any app that needs structured product data, verified provenance, real dimensions or BIM parametrics consumes one API. Right now it serves 36 records from 29 brands: 36 with physical parametrics, 5 BIM-ready.
Quick start
curl https://proddata.io/api/v1/products/handle/akabanga-chili-oil-75mlOpen live JSONThe same record the UI renders at /@akabanga-chili-oil-75ml
const res = await fetch(
"https://proddata.io/api/v1/search?product_type=construction&has_3d=true"
);
const { data } = await res.json();
// data[0].links.self → full record with parametrics + BIMEndpoints
- GET
/api/v1/productsList and filter records with the full query vocabularyTry it - POST
/api/v1/products/scanScan-to-search: match extracted labels against the ledger; never creates duplicates - GET
/api/v1/products/{id}Full record by internal id, UPI or flat handleTry it - GET
/api/v1/products/upi/{upi}Full record by Universal Product IDTry it - GET
/api/v1/products/handle/{handle}Full record by permanent handle; natural products namespace by commodityTry it - GET
/api/v1/products/{id}/galleryGallery assets, filterable by asset_type and sourceTry it - GET
/api/v1/products/{id}/parametricsPhysical dimensions, weight, volume and packagingTry it - GET
/api/v1/products/{id}/bimBIM extension; construction products onlyTry it - GET
/api/v1/searchFull-text search across names, brands, handles and originsTry it - GET
/api/v1/commodities/{slug}Commodity index with every lot on recordTry it - GET
/api/v1/brandsAll registered brandsTry it - GET
/api/v1/brands/{slug}Brand profile with its recordsTry it - GET
/api/v1/statsRegistry counts: products, trust states, media coverageTry it
Filter vocabulary
Filters compose freely on /api/v1/products and /api/v1/search. Every example below is a live request.
- q
- Full-text across name, brand, handle, UPI, origin?q=bourbon
- product_type
- manufactured · natural · construction?product_type=construction
- commodity
- Natural products by commodity namespace?commodity=coffee
- verification_status
- brand_verified · pending_review · ai_generated?verification_status=brand_verified
- has_3d
- Records with a 3D model on file?has_3d=true
- has_video
- Records with video?has_video=true
- media_source
- Only records carrying official brand media?media_source=brand
- has_bim
- Records with the BIM extension?has_bim=true
- bim.ifc_type
- Exact IFC classification match?bim.ifc_type=IfcWallType
- parametrics.weight_g__lte
- Weight ceiling in grams?parametrics.weight_g__lte=500
- limit · offset
- Pagination?limit=10&offset=10
Trust is a filter, not a footnote
Every data point declares its source. API values map directly to the badges users see:
Brand-Verified
verification_status=brand_verifiedPending Review
verification_status=pending_reviewAI-Generated
verification_status=ai_generatedNeed only official media? ?media_source=brand&has_3d=true returns records with brand-uploaded, dimension-verified assets only.
Pricing
Most teamsGrowth
$199/mo
- 25K calls/mo
- Full AI pipeline
- 3D models
- Trust filters
- Provenance data
API keys and tiered rate limiting are part of the platform spec. This demo serves the public read API without keys.