39 robots · 21 manufacturers · 5 categories · generated 2026-08-29
The full data behind the BotRegistry comparator: one record per robot family, covering physical specs (height, weight, DOF, speed, battery, IP rating, compute), current pricing, manufacturer details, and where each spec was verified. This is the same data the comparator and its 39 individual robot pages render from — not a separate summary.
Every record starts from the manufacturer's own product page, spec sheet, or press materials. A recurring automated sweep (verify_links.py) re-fetches each source page, hashes its visible text, and flags drift; a variant's specs are only marked verification_method="fetched" in a pass that actually retrieved and read that page on verified_date. Records not yet independently re-checked are marked "backfilled" — adopted as a starting baseline with no verification claim attached, and prioritized first in the next sweep. No specification value is estimated, inferred, or generated by a model; a value BotRegistry could not confirm is left null, and the reason is recorded per record in unknown_fields (see the field dictionary below).
License: CC BY 4.0. Free to use, share, and adapt — including commercially — with attribution to Sky Team Labs and a link back to skyteamlabs.com/robots/. Full license text: creativecommons.org/licenses/by/4.0.
Suggested citation:
Sky Team Labs. "BotRegistry robot dataset." Accessed 2026-08-29. https://skyteamlabs.com/robots/dataset/. Licensed CC BY 4.0.
39 records each. 37 of 39 records carry at least one null spec field (186 null fields total, each with a stated reason — see unknown_fields below). No field is ever a guessed or estimated value.
Verification sweep: every 21 days, 6 robots per pass (still-backfilled records first, then oldest-checked) — a full pass across all 39 robots takes about 21 weeks. This export regenerates from the same source files as the live pages every time build.py runs, so it is never a separate hand-maintained copy and is never older than the catalog itself.
| Field | Type | Unit | Description |
|---|---|---|---|
| id | string | — | Unique catalog slug, convention {manufacturer}-{model}. |
| name | string | — | Display name. |
| manufacturer | string | — | Manufacturer company name. |
| manufacturer_country | string|null | ISO 3166-1 alpha-2 | Country of the manufacturer's headquarters. |
| manufacturer_website | string|null | — | Manufacturer's official website. |
| category | string | — | Robot type (BotRegistry taxonomy). |
| subcategory | string|null | — | Free-form subcategory assigned by the catalog, not manufacturer-sourced. null = not categorized. |
| year_announced | integer|null | year | Year the robot was first publicly announced. |
| status | string | — | Best-case status across variants: available | limited | pre-order | development | discontinued. |
| price_from_usd | number|null | USD | Minimum current price across variants. null = manufacturer sells only by direct quote ("contact us"), not a missing value. |
| price_from_type | string|null | — | purchase | lease | monthly | annual | null (matches price_from_usd's basis). |
| height_cm | number|null | cm | Standing height. |
| weight_kg | number|null | kg | Robot mass. |
| payload_kg | number|null | kg | Maximum carried load. |
| dof | integer|null | count | Total degrees of freedom. |
| max_speed_kmh | number|null | km/h | Maximum locomotion speed. |
| max_speed_ms | number|null | m/s | Maximum locomotion speed. |
| battery_wh | number|null | Wh | Battery capacity. |
| battery_hours | number|null | hours | Typical runtime, not maximum. |
| battery_swappable | boolean|null | — | Whether the battery can be hot-swapped. |
| ip_rating | string|null | — | Ingress protection rating, e.g. IP54. |
| operating_temp_min_c | number|null | °C | Minimum rated operating temperature. |
| operating_temp_max_c | number|null | °C | Maximum rated operating temperature. |
| compute | string|null | — | Onboard compute platform name. |
| compute_tops | number|null | TOPS | AI compute throughput. |
| certifications | string[] | — | Regulatory certifications (e.g. CE, FCC). |
| locomotion | string[] | — | Locomotion modes (e.g. bipedal walking, running). |
| use_cases | string[] | — | Manufacturer-stated intended use cases. |
| sensor_count | integer | count | Number of distinct sensor types listed for this robot. |
| source_url | string|null | — | The manufacturer page whose spec section was read for the represented variant. Null only when verification_method is "none", or "backfilled" with no source recorded. |
| verified_date | string|null | ISO 8601 date | Date source_url was checked (or the baseline-adoption date for a backfilled record). |
| verification_method | string | — | fetched = this variant's own page was retrieved and read on verified_date. backfilled = pre-existing data adopted as a baseline, no independent verification claim. none = no variant/provenance data recorded for this robot. |
| verified_variant_id | string|null | — | Which configuration/variant this record's specs and provenance represent (the "base" variant when one exists, otherwise the first listed). |
| last_updated | string | ISO 8601 date | Date this robot's underlying record was last edited in the source catalog. |
| detail_page_url | string | — | The BotRegistry page this record was derived from. |
| unknown_fields | object[] (JSON) / unknown_fields_note string (CSV) | — | One {field, reason} entry per DATASET_SPEC_FIELDS value left null. See the scope note above this table. |
Questions, corrections, or a spec you can verify that we have marked null? info@skyteamlabs.com.