Skip to main content

Data & API

RoboZaps maintains a source-backed robot database. Each sourced specification records its source and, where available, a verification tier and confidence score. The data ships in two layers.

Verification methodology

RoboZaps keeps the displayed value, its supporting evidence, and its freshness separate. A linked source alone does not make an entire robot record verified.

Verified
Every usable current specification has linked evidence and a recorded verification date.
Partially verified
At least one current specification is sourced or checked, but the record is not fully evidenced.
Unverified
No usable current specification has linked evidence; unsourced values remain visible as unverified.
Conflicting
A current specification has a contradiction flag. Differing public values are also shown as conflicting at the field level; no conflict is silently resolved.

Prices are shown only from a sourced, checked list-price observation or from a verified record; otherwise they are shown as “Price not publicly disclosed.” Freshness is tracked separately: records checked more than 180 days ago are classified as stale, while records without a check date remain unknown.

Two access layers

  • Headline layer — no key

    Identity, deployment stage, price ranges, and headline specs (height, weight, payload, speed, battery, DoF, reach) via the list endpoint and keyless per-robot detail. Licensed under the RoboZaps Data Terms below.

  • Depth layer — free API key; bulk exports — Pro API key

    Full normalized specs with per-spec source links, verification tiers, and confidence scores, plus deployment evidence, readiness scores, and the bulk dataset downloads. Licensed under the RoboZaps Data Terms below.

Data paths by buyer

The useful dataset differs for a team comparing vendors, an investor mapping a market, a manufacturer correcting a listing, and a researcher building a citable analysis.

Procurement teams

Build a defensible shortlist with comparable specifications, price observations, deployment evidence, and vendor questions.

Build a procurement shortlist

Investors & analysts

Map manufacturers and categories, review commercial-readiness signals, and monitor changes across a portfolio or market segment.

Request an investor dataset

Manufacturers

Review how your products are represented, submit source-backed corrections, and discuss verified data feeds for your catalogue.

Manage manufacturer data

Researchers

Start with the keyless headline data, then add a free API key when your analysis needs current field-level provenance.

Start with research access

Endpoints

All endpoints are read-only and allow cross-origin requests. Keyless endpoints are cached for one hour and rate-limited to 60 requests per hour per IP. Verifying a key against the backend has its own per-IP ceiling of 600 requests per hour, separate from the keyless budget. A key we've never seen before spends one unit the first time it's checked; an invalid key spends it every time after that too, whether discovered fresh or replayed from cache. A key already known valid never spends it again on a recheck, so many already-active keys sharing one IP can't lock each other out. A valid key denied at an endpoint it isn't entitled to (e.g. a free key on change history) is rate-limited on its own per-key budget, separate again. Keyed access allows 500 detail requests and 5 dataset exports per day per key — enough to evaluate the data; talk to us about anything heavier. Change history (/api/v1/changes) has its own budget of 2,000 requests per day per key, separate from the detail budget, since paging the feed takes far more requests than looking up individual robots. Send your key as the x-api-key header — a key sent via the query string is rejected and is never rate-limited (it costs nothing to reject). An old, superseded catalog slug's redirect and a missing key's 401 are likewise never rate-limited — both are resolved before any backend call, so there is nothing to protect a budget from.

  • /api/v1/robots

    List of published robots (headline fields). Query params: manufacturer, stage, verification, limit (max 25), offset. Keyless, rate-limited.

  • /api/v1/robots/<slug>

    Per-robot detail. Without a key: headline layer (identity + headline specs). With a free API key: full depth layer — every current spec with its source link, verification tier, and confidence score, plus deployment evidence and readiness.

  • /api/v1/dataset.json

    The published catalog in one JSON document: identity plus headline specs per robot. Requires a Pro API key.

  • /api/v1/dataset.csv

    The published catalog as CSV — one row per robot with core fields and common spec columns. Requires a Pro API key.

  • /api/v1/changes

    Change history and events across the catalog — price moves, availability, deployments, and spec corrections. Only the listed filters (cursor, limit up to 100, target_type, target_id, since, manufacturer, materiality) are forwarded; any other query param is silently dropped. Requires an API key issued from a signed-in account on the Pro plan. History beyond the most recent 30 days is available now through this Pro API; the same unlock on the site with a Pro account is coming once account history ships.

Change history (Pro)

GET /api/v1/changes returns the same verified change-event feed already published, keylessly, on /changes and every product changelog — price moves, availability, deployments, and spec corrections. The public API's change endpoints are available to Pro keys under the RoboZaps Data Terms: filterable, paged, and built for programmatic use. A free key authenticates but gets a 403 upgrade hint instead of events. History beyond the most recent 30 days is available now through this Pro API — the same unlock for a signed-in Pro account browsing the keyless pages above is coming once account history ships. Only the filters listed below are forwarded — anything else in the query string is silently dropped, never passed through.

cursor
— opaque pagination cursor from a previous page's next_cursor.
limit
— page size, 1–100 (default 50).
target_type
— robot or manufacturer.
target_id
— id of the target (see history_url on a robot's depth-layer response).
since
— ISO-8601 date or datetime floor.
manufacturer
— filter to one manufacturer's slug (not to be confused with target_type=manufacturer, which selects manufacturer-level events regardless of which one).
materiality
— major, minor, or editorial.

Example response

{
  "events": [
    {
      "id": "fcl:1234",
      "event_type": "price",
      "target_type": "robot",
      "target_id": "robot_01",
      "target_slug": "unitree-g1",
      "target_name": "Unitree G1",
      "manufacturer_slug": "unitree",
      "field_key": "price",
      "field_label": "Price",
      "old_value": "USD 15000",
      "new_value": "USD 16000",
      "effective_date": "2026-09-01",
      "recorded_at": "2026-09-20T00:00:00.000Z",
      "source_url": "https://unitree.com/g1",
      "source_publisher": "unitree.com",
      "materiality": "major",
      "verification_state": "verified"
    }
  ],
  "next_cursor": null,
  "license": "RoboZaps Data Terms — attribution required; ...",
  "docs": "https://robozaps.com/data"
}

manufacturer_slug, effective_date, source_url, and source_publisher are always present on every event but are nullable — an event without a resolvable value carries null, never an absent key. Two further fields are present only on certain event types, both optional: claim_level (deployment events only) and kind (relationship events only, one of deployment / order / pilot / partnership / investment / distribution).

Without the Pro entitlement

{
  "error": "upgrade_required",
  "message": "Change history and events are available on the Pro plan. Upgrade to unlock full per-entity history via the API.",
  "upgrade_url": "https://robozaps.com/pricing"
}

A per-robot summary also rides on the depth layer of GET /api/v1/robots/<slug>: history_url is always present; history (the 20 most recent events) is included only when the key carries the Pro entitlement — otherwise a history_notice and upgrade_url take its place, and there is no history key at all. A third shape is possible even for a Pro key: if the history fetch itself fails, the robot response still returns normally with history_error: "unavailable" in place of history — handle it alongside the other two rather than assuming a Pro key always carries history. For more than 20 events on a robot, page GET /api/v1/changes directly using history_url (its own 2,000/day budget).

Get a free API key

Keys are free and issued instantly. Tell us what you are building so we can keep the data useful for it.

Licenses & terms

All layers are licensed under the RoboZaps Data Terms: attribution required, internal and research use welcome, replication, bulk redistribution, or resale of the corpus prohibited. Keys may be revoked for abuse. Every price is an observed list or asking price with source and date, not an offer.

The same terms cover the Pro plan's own export surfaces: the /app watchlist's CSV export and the /api/v1/changes change-history API for Pro keys — attribution required, internal and research use welcome, replication, bulk redistribution, or resale of the corpus prohibited, whether you hold the data as a CSV file, an API response, or a copy of either.

Releases before 2026-07-23 were licensed CC BY 4.0, which remains irrevocable for copies retrieved before that date. Releases on or after 2026-07-23 are licensed under the RoboZaps Data Terms.

Citation

Cite individual robot records as:

RoboZaps Robot Database, robozaps.com/products/<slug>, retrieved <date>

For AI agents

A machine-readable overview of the site and its entry points is published at /llms.txt.

Contact

Questions, corrections, or bulk-use requests: use the contact page.