Data API Quickstart

The Data API gives agencies, DSPs, and data partners read access to Trillboards audience intelligence: live audience snapshots, historical aggregations, semantic search over scene embeddings, and lookalike screen discovery. Use it for planning, attribution, and measurement workflows that do not need ad-serving control.

Base URL: https://api.trillboards.com

1. Get an API key

Data API keys have the prefix tb_dat_ and are issued from the portal. Keys are scoped; common scopes are read:live, read:historical, read:semantic, and stream:live. Each request must include the key in the X-API-Key header.

2. Make your first call

List the screens your key is authorized to see:


curl -s "https://api.trillboards.com/v1/data/screens?limit=5" \
  -H "X-API-Key: tb_dat_xxxxxxxxxxxx"

Success response:


{
  "screens": [
    { "screen_id": "...", "mongo_screen_id": "...", "name": "Lobby #3",
      "venue_type": "fitness", "city": "Brooklyn", "country": "US", "status": "active" }
  ],
  "count": 1, "offset": 0, "limit": 5
}

If the X-API-Key header is missing or invalid, you get the canonical error envelope:


{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "Invalid or inactive API key provided.",
    "request_id": "req_a1b2c3d4e5f6789012345678901234ab",
    "doc_url": "https://api.trillboards.com/docs/errors#invalid_api_key"
  }
}

Every 4xx/5xx response echoes error.request_id matching the X-Request-Id response header. Paste it into a support ticket and we can trace the request end-to-end.

3. Common errors

error.codeHTTPHow to fix
authentication_required401Add the X-API-Key header.
invalid_api_key401Check the key you copied from the portal. Rotate if compromised.
insufficient_permissions403Your key is missing a required scope (for example, read:historical). Request an upgrade from your account manager.
rate_limit_exceeded429Back off using the Retry-After header; default limit is 60 req/min per key.

Next steps