Prefer to ask questions instead of writing requests?
The same data is available over MCP, so Claude, Cursor or any other MCP
client can query your campaigns directly.
Authentication
Requests are authenticated with a personal API key sent as a bearer token.1
Create a key
In the app, go to Settings → API and choose Create key. Give it a
name you’ll recognise later —
Looker Studio, nightly-export — because
the name is all you’ll have to go on when deciding what to revoke.2
Copy it once
The full key is shown only once, right after creation. Store it
somewhere safe. You can’t view it again, only revoke it and create another.
3
Send it as a bearer token
401 Unauthorized. A key only ever reaches
campaigns owned by the user who created it.
Base URL
Conventions
Campaigns are addressed byuuid. Start from
GET /campaigns to get them. Requesting a
campaign you don’t own returns 404, not 403 — the API deliberately doesn’t
confirm whether someone else’s campaign exists.
Response envelope. Every response wraps its payload in a data key, with
links and meta added on paginated lists:
page and per_page — default 25,
maximum 100.
Date filters. Where supported, from and to take ISO dates
(YYYY-MM-DD).
Rate limits. Two throttles apply in order:
Exceeding either returns
429 Too Many Requests. Rate limits are the same on
every plan.
Errors
Errors are always returned as JSON.