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

PlanMCPREST APIWebhooksRequests per key
FreeNo API keysNoNo
BYOABridge (33 tools)NoNo60 / min
StarterFull (47 tools)NoNo30 / min
GrowthFull (47 tools)YesYes100 / min
ScaleFull (47 tools)YesYes500 / min
EnterpriseFull (47 tools)YesYes1000 / 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.