curl -X GET "https://api.adrelay.dev/v1/campaigns?platform=google_ads&status=ACTIVE&limit=25" \
-H "X-API-Key: $ADRELAY_API_KEY"
const params = new URLSearchParams({
platform: "google_ads",
status: "ACTIVE",
limit: "25",
});
const response = await fetch(
`https://api.adrelay.dev/v1/campaigns?${params}`,
{
headers: { "X-API-Key": process.env.ADRELAY_API_KEY },
}
);
const data = await response.json();
import requests
response = requests.get(
"https://api.adrelay.dev/v1/campaigns",
headers={"X-API-Key": "your-api-key-here"},
params={"platform": "google_ads", "status": "ACTIVE", "limit": 25},
)
data = response.json()
{
"unified": [
{
"id": "camp_abc123",
"platform": "google_ads",
"remote_id": "123456789",
"name": "Summer Sale 2026",
"status": "ACTIVE",
"goal": "CONVERSIONS",
"budget_amount": 50.00,
"budget_period": "DAILY",
"currency": "USD",
"created_at": "2026-03-01T12:00:00Z",
"updated_at": "2026-03-15T08:30:00Z"
}
],
"pagination": {
"next_cursor": "eyJpZCI6ImNhbXBfYWJjMTIzIn0=",
"has_more": true
}
}
{
"error": "Invalid or missing API key.",
"code": "UNAUTHORIZED",
"timestamp": 1711036800,
"request_id": "req_abc123"
}
Campaigns
List Campaigns
Retrieve campaigns across all connected ad platforms with optional filtering and pagination.
GET
/
v1
/
campaigns
curl -X GET "https://api.adrelay.dev/v1/campaigns?platform=google_ads&status=ACTIVE&limit=25" \
-H "X-API-Key: $ADRELAY_API_KEY"
const params = new URLSearchParams({
platform: "google_ads",
status: "ACTIVE",
limit: "25",
});
const response = await fetch(
`https://api.adrelay.dev/v1/campaigns?${params}`,
{
headers: { "X-API-Key": process.env.ADRELAY_API_KEY },
}
);
const data = await response.json();
import requests
response = requests.get(
"https://api.adrelay.dev/v1/campaigns",
headers={"X-API-Key": "your-api-key-here"},
params={"platform": "google_ads", "status": "ACTIVE", "limit": 25},
)
data = response.json()
{
"unified": [
{
"id": "camp_abc123",
"platform": "google_ads",
"remote_id": "123456789",
"name": "Summer Sale 2026",
"status": "ACTIVE",
"goal": "CONVERSIONS",
"budget_amount": 50.00,
"budget_period": "DAILY",
"currency": "USD",
"created_at": "2026-03-01T12:00:00Z",
"updated_at": "2026-03-15T08:30:00Z"
}
],
"pagination": {
"next_cursor": "eyJpZCI6ImNhbXBfYWJjMTIzIn0=",
"has_more": true
}
}
{
"error": "Invalid or missing API key.",
"code": "UNAUTHORIZED",
"timestamp": 1711036800,
"request_id": "req_abc123"
}
curl -X GET "https://api.adrelay.dev/v1/campaigns?platform=google_ads&status=ACTIVE&limit=25" \
-H "X-API-Key: $ADRELAY_API_KEY"
const params = new URLSearchParams({
platform: "google_ads",
status: "ACTIVE",
limit: "25",
});
const response = await fetch(
`https://api.adrelay.dev/v1/campaigns?${params}`,
{
headers: { "X-API-Key": process.env.ADRELAY_API_KEY },
}
);
const data = await response.json();
import requests
response = requests.get(
"https://api.adrelay.dev/v1/campaigns",
headers={"X-API-Key": "your-api-key-here"},
params={"platform": "google_ads", "status": "ACTIVE", "limit": 25},
)
data = response.json()
{
"unified": [
{
"id": "camp_abc123",
"platform": "google_ads",
"remote_id": "123456789",
"name": "Summer Sale 2026",
"status": "ACTIVE",
"goal": "CONVERSIONS",
"budget_amount": 50.00,
"budget_period": "DAILY",
"currency": "USD",
"created_at": "2026-03-01T12:00:00Z",
"updated_at": "2026-03-15T08:30:00Z"
}
],
"pagination": {
"next_cursor": "eyJpZCI6ImNhbXBfYWJjMTIzIn0=",
"has_more": true
}
}
{
"error": "Invalid or missing API key.",
"code": "UNAUTHORIZED",
"timestamp": 1711036800,
"request_id": "req_abc123"
}
Authorizations
Query Parameters
Available options:
GOOGLE, META, TIKTOK, LINKEDIN, PINTEREST, REDDIT Available options:
UNSPECIFIED, ACTIVE, PAUSED, ARCHIVED, DRAFT, SCHEDULED_FOR_DELETION Required range:
1 <= x <= 100