API · v2
Submit YouTube ad campaigns to The Immeasurable.
A managed pipeline for approved partners. Send us your campaign brief — we run it through our advertising infrastructure and report delivery back. Reach support to request an API key.
Authentication
Every request includes your key in the request body. Treat the key like a password — store it as an environment variable, never in client-side code, and never paste it into shared logs.
If a key is leaked, contact support immediately and we will rotate it. Rate limits are 120 requests / minute per key.
services — list available services
Returns the services this key is authorised to submit. Each service has a numeric service id you pass to add.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key* | string | Your API key. |
| action* | string | "services" |
Example response
[
{
"service": 1,
"name": "YouTube Views — In-stream",
"type": "Default",
"category": "YouTube",
"rate": "20.00",
"min": 2500,
"max": 1000000,
"refill": false,
"cancel": false
},
...
]add — submit an order
Creates a new campaign on your behalf. The order is queued and admins review it before it goes live; you can track the lifecycle with status.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key* | string | Your API key. |
| action* | string | "add" |
| service* | integer | Service id from the services list. |
| link* | string | YouTube video URL (the target). |
| quantity* | integer | Units ordered (views / subscribers / etc.). Must meet the service min. |
| name | string | Optional label shown in the dashboard. |
Example request — curl
curl -X POST 'https://theimmeasurable.co/api/v2' \
-d 'key=YOUR_API_KEY' \
-d 'action=add' \
-d 'service=1' \
-d 'link=https://youtube.com/watch?v=abc123' \
-d 'quantity=5000'Example response
{
"order": "CMP-A4F2B7"
}status — order status
Pass order for a single order or orders (comma-separated, up to 100) for a batch.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key* | string | Your API key. |
| action* | string | "status" |
| order | string | Single order id (CMP-XXXXXX). |
| orders | string | Comma-separated list of order ids (max 100). Use INSTEAD of order. |
Example response — single
{
"charge": "50.00",
"start_count": 0,
"status": "In progress",
"remains": 0,
"currency": "USD"
}Status values
Pending, Processing, In progress, Completed, Canceled.
balance — account balance
Partner accounts settle billing with us on a separate cycle, so this endpoint returns a large numeric value rather than a tracked wallet balance. Kept available for downstream software that polls a balance field as part of its standard order flow.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key* | string | Your API key. |
| action* | string | "balance" |
Example response
{
"balance": "999999.99",
"currency": "USD"
}Service IDs
Pass service to the add action.
| ID | Service | Surface |
|---|---|---|
| 1 | YouTube Views — In-stream | Before / during YouTube videos |
| 2 | YouTube Views — In-feed | In-feed / suggested |
| 3 | YouTube Views — Shorts | YouTube Shorts feed |
| 4 | YouTube Subscribers | Demand Gen |
| 5 | Multi-platform engagement | Partner network (non-Google) |
Call services at runtime for the live rate per 1,000 units.
Errors
Failure responses return { "error": "<message>" } with an HTTP status code.
| Code | Meaning |
|---|---|
| 400 | Missing or invalid parameter. |
| 401 | Missing or invalid key. |
| 403 | Key not allowed for the requested service. |
| 429 | Rate limit exceeded (120 / min / key). |
| 503 | No active Google Ads account or no pricing rate for this service. Retry shortly. |
Ready to integrate?
Email [email protected] with your business name and the campaign services you want to integrate (views, subscribers, multi-platform). We onboard partners manually — a real human reviews every credential before issue.