# Unite Research API — Authentication

## Public access: no authentication required

The research API is public and read-only. No API key, OAuth flow, account, bearer token, payment or browser session is required. Send ordinary HTTPS GET requests to https://research.unitebr.com/api/v1/charts, /api/v1/charts/{chart_id}, /api/v1/citation or /api/v1/health.

The API exposes only the aggregate tables already published in the study. It does not grant access to advertising accounts, raw records, customer data, visitor data or the commercial demonstration form. Existing Unite platform accounts and credentials are unrelated to this API.

## Request example

```sh
curl --fail --show-error 'https://research.unitebr.com/api/v1/charts?query=CPM&limit=5'
```

Use GET for data, HEAD for response metadata and OPTIONS for CORS preflight. Other methods return 405 with the allowed methods. Unknown chart IDs return 404; invalid or repeated query parameters return 400. Error responses use application/problem+json with a status, title, detail and instance. Follow the documented next_offset for additional pages and use ETag / If-None-Match to avoid downloading unchanged data.

## Browser access and WebMCP

Public data responses permit cross-origin reads with Access-Control-Allow-Origin: *. WebMCP is a separate browser interface on the study page; compatible Chrome versions enable it through the site's origin-trial token. It also reads only public study data and requires no login.

## Documentation and support

- [Developer portal and API reference](https://research.unitebr.com/developers)
- [OpenAPI 3.1 description](https://research.unitebr.com/openapi.json)
- [Agent guide](https://research.unitebr.com/agents.md)
- [Contact](https://research.unitebr.com/contact)

There is no published per-client quota or uptime guarantee for this free public research API. Cache responses, paginate large tables and use bounded retries for transient network or 5xx errors. For a 429 response from the hosting platform, honor Retry-After when present. For 400 or 404, correct the request rather than retrying it unchanged.
