Developer documentation
Build on top of LazyAds with a Model Context Protocol server for AI agents, a REST API, and outbound webhooks. MCP bridge access starts at BYOA; full MCP (Lazy Ads AI tools) at Starter+. The REST API and outbound webhooks require Growth or above. Every surface uses the same API key from Settings → API.
MCP server
Connect Claude Code, Cursor, Codex, Gemini CLI, Hermes, or any MCP client to act on your ad accounts. 33 bridge tools on every paid plan; 47 with Lazy Ads AI on Starter+.
REST API
Manage campaigns, import live ones, pull performance, ingest conversion events, and start AI builds over HTTPS. Growth and above.
Webhooks
Receive HMAC-signed events when campaigns build, launch, change budget, or creatives are ready. Zapier and n8n REST Hooks included. Growth and above.
Authentication
Generate an API key in Settings → API. Keys start with la_, are shown once, and are stored hashed. Send the key as a Bearer token on every request to either surface:
REST (Growth+)
curl https://lazyads.ai/api/v1/campaigns \
-H "Authorization: Bearer la_your_api_key"MCP (any paid plan) — lists the tools your plan can call
curl -sS https://mcp.lazyads.ai/mcp \
-H "Authorization: Bearer la_your_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Optional per-key scopes (campaigns, performance, creatives, competitors, connections, notifications, chat, webhooks) restrict what a REST key may touch; a key created without scopes is unrestricted. Agencies add X-LazyAds-Client: <client user id> to act inside a client workspace.
Plans and rate limits
| Plan | MCP | REST API | Webhooks | Requests per key |
|---|---|---|---|---|
| Free | No API keys | No | No | — |
| BYOA | Bridge (33 tools) | No | No | 60 / min |
| Starter | Full (47 tools) | No | No | 30 / min |
| Growth | Full (47 tools) | Yes | Yes | 100 / min |
| Scale | Full (47 tools) | Yes | Yes | 500 / min |
| Enterprise | Full (47 tools) | Yes | Yes | 1000 / min |
Limits are per minute per API key, counted separately for REST and MCP. Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; bursts return 429 with Retry-After. Lazy Ads AI calls (campaign builds, chat, creative generation, competitor scans) also draw on your plan's AI credits.