Boring Marketing API
The marketing intelligence API for AI agents. Monitor search surfaces, discover content opportunities, generate briefs, draft articles, and track citations — all through a single API.
Give your AI agent a marketing brain. One API call discovers what to write, why it matters, and in what order. Another drafts the article. A third tracks whether LLMs are citing it.
What the API does
Boring Marketing monitors 6 search surfaces — Google Organic, AI Overviews, AI Mode, ChatGPT, Perplexity, and Claude — to find gaps where your brand should appear but doesn't. It scores every opportunity by immediacy and ceiling, generates content briefs enriched with your brand context, and drafts full articles ready to publish.
Every piece of published content is tracked at 7, 30, and 90 days. The system learns what works for your brand and gets smarter over time.
API-first, agent-native
Boring Marketing is designed for agents to drive. You call the API directly, or your AI agent calls it for you. Claude Code, Cursor, Codex — any agent that can make HTTP requests can run your entire content pipeline autonomously.
Prefer to set up in your browser? Start at dashboard.boringmarketing.com. Same Stripe checkout, same API key — just with a UI for the initial setup and subscription management.
The full loop
| Stage | What happens | Endpoint |
|---|---|---|
| Register | Create an account via Stripe checkout | POST /auth/checkout |
| Add brand | Tell the API about your brand | POST /brands |
| Discover | Build keyword universe across topic families | POST /brands/{id}/discover |
| Enrich brand | Crawl your site for trust signals and gaps | POST /brands/{id}/enrich/brand |
| Enrich tech | Run a technical site audit via GemMiner | POST /brands/{id}/enrich/technical |
| Score | Cross-reference findings with opportunities | POST /brands/{id}/score |
| Brief | Generate a content brief from the top queue item | POST /brands/{id}/brief |
| Draft | Produce a full article from the brief | POST /brands/{id}/execute |
| Snapshot | Capture current rankings + citations for diffing | POST /track/brands/{id}/snapshot |
| Track changes | Diff the latest snapshot against an earlier one | GET /track/brands/{id}/changes?since= |
| Report outcomes | Log a published piece for learning loop tracking | POST /track/outcomes/report |
Or run the entire pipeline in one call with POST /brands/{id}/analyze.