AdCritter Platform Overview
AdCritter is a self-service advertising platform for creating and managing digital advertising campaigns across internet (display), native, TV (connected TV), billboard (digital out-of-home), and audio (streaming radio, podcasts, in-app audio) channels. The API covers campaign creation, ad asset management, geographic and audience targeting, budget allocation, delivery configuration, and performance reporting.
Getting started
When building apps
A typical end-to-end flow for getting your first campaign live. Each step lists the relevant endpoints; see the entity reference below for full request and response schemas.
1
Authenticate
Send an API key in the X-Api-Key header for programmatic access, or sign in with OAuth 2.1 if your MCP client supports it (Cursor, Claude Desktop, Windsurf) - the client handles the login automatically.
X-Api-Key: ac_live_{your_key} - or - OAuth sign-in via your MCP client2
Resolve an advertiser
Decide how your app handles advertisers. Apps that give each user their own advertiser call POST /v1/advertisers at signup and store the returned ID; apps where users join existing advertisers call GET /v1/advertisers to list the ones they can access.
POST /v1/advertisers | GET /v1/advertisers3
Create a campaign
POST /v1/advertisers/{advertiserId}/campaigns with a name and optional type (internet, native, tv, billboard, or audio - defaults to 'internet'). The campaign is created in 'Saved For Later' status with no budget or targeting.
POST /v1/advertisers/{advertiserId}/campaigns4
Upload ads
POST /v1/advertisers/{advertiserId}/ads/{type} as multipart/form-data with the campaign ID and a binary file field. Image and video uploads are capped at 5MB; audio uploads at 250MB.
POST /v1/advertisers/{advertiserId}/ads/{type}5
Launch the campaign
POST /v1/advertisers/{advertiserId}/campaigns/{campaignId}/launch to move the campaign from 'Saved For Later' to live. At least one approved ad is required.
POST /v1/advertisers/{advertiserId}/campaigns/{campaignId}/launch6
Monitor performance
GET /v1/advertisers/{advertiserId}/reports/snapshot returns pre-computed pacing for the current billing interval. GET /reports/campaigns/{campaignId} returns detailed metrics with a daily time series for a date range.
GET /v1/advertisers/{advertiserId}/reports/snapshotAPI reference
Entity hierarchy
organization
Top-level container representing a business or agency.
advertiser
A client or brand within an organization. Owns campaigns, ads, media assets, and billing configuration. An organization can own multiple advertisers; agencies manage one per client.
campaign
An advertising campaign across internet, native, TV, billboard, or audio channels with a budget, date range, optional geo targeting (states, cities, DMAs, or zip codes - one tier per campaign), audience configuration, delivery settings, and a status lifecycle (Saved For Later → Live → Campaign Ended).
ad
An ad asset attached to a campaign - display image, native ad, TV video, billboard design, or audio file.
media-asset
A reusable creative stored in the account-level asset library. Serves as a template - ads created from a media asset receive a snapshot of the asset's properties at creation time.
geo
Geographic targeting for a campaign - supports states, cities, DMAs, or zip codes (one tier per campaign, cannot mix).
audience
Audience configuration defines who sees ads. Two types: demographic (geo + optional segments) and retargeting.
settings
Campaign delivery settings including dayparting, frequency caps, and platform-managed optimization.
budget
Budget allocation configured at campaign creation - amount, frequency (monthly or total), start date, and optional end date.
report
Performance metrics for campaigns - impressions, clicks, spend, CTR, CPC, CPM.
blueprint
AI-powered market research containing structured market analysis and AI-generated persona profiles. Foundation for one or more marketing plans.
plan
AI-generated marketing plan created from a completed blueprint. Contains strategy summaries, campaign recommendations, and viewable sections.
domain
Ad delivery domains - the curated websites where internet display campaigns serve impressions.
Entity relationships
organization > advertiser
An organization contains one or more advertisers
advertiser > campaign
An advertiser contains campaigns
campaign > ad
A campaign contains ads
campaign > geo
A campaign has optional geo targeting (one tier per campaign)
campaign > audience
A campaign has audience configuration
campaign > settings
A campaign has delivery settings
campaign > budget
A campaign has budget allocation
campaign > report
Campaign performance is available through report endpoints
blueprint > plan
A blueprint serves as the foundation for one or more plans
advertiser > plan
An advertiser can have blueprints and marketing plans
advertiser > media-asset
An advertiser owns media assets in their asset library
media-asset > ad
A media asset can be used to create ads - the ad receives a snapshot of the asset's properties
Authentication
OAuth 2.1
Browser sign-in via your MCP clientOAuth 2.1 sign-in via Auth0. MCP clients discover the configuration at /.well-known/oauth-protected-resource and walk you through a browser-based login. Nothing to paste, nothing to manage.
Used by OAuth-capable MCP clients (Cursor, Claude Desktop, Windsurf).
API Key
X-Api-Keyformat: ac_live_{base64key}
API keys hashed with SHA256 server-side. The 'ac_live_' prefix identifies live keys; the first 8 characters after the prefix serve as a human-readable identifier.
Used for programmatic and server-to-server integrations.
Response envelope
Every response uses a standard envelope: { timestamp, response, errors }. The response field carries the payload. The errors field is an array of { code, name, message } objects, populated only when the request fails.