Oetzi

Marketing API for developers: REST and a CLI

Every Oetzi capability as a REST call and a CLI command: listening, scoring, replies, posts, share of model, people graph, with a quote before any spend.

By Max Gillespie, founder of Oetzi

A marketing API for developers should let a script do the work a marketer would do, not just fetch a report. Oetzi exposes every capability it has as a REST call at POST /api/v1/capabilities/{name} and as a command in its CLI: compile a listening signal, read scored conversations, draft a reply, run a share of model check, draft and publish a post, pull the people who engaged. Same names, inputs, and prices as the chat clients.

Why a capability API instead of a data export?

Most marketing APIs hand you rows and leave the work to you. This one runs the work. One registry sits behind the product, and the portal, the MCP server, the REST API, and the CLI all render from it, so a script never gets a cut down version. If a person can do it in the portal, a POST can do it too.

That design comes from the same place as the MCP server. MCP, described at modelcontextprotocol.io, is the chat-facing shape. REST and the CLI are the shape a cron job wants. The endpoints and payloads are in the API docs, and the commands are in the CLI docs.

What can you build with it?

  • A morning digest that reads the inbox, filters by intent score, and puts the top three conversations into your own Slack or dashboard.
  • A release script that drafts a post about what shipped, in your voice, and publishes it after a human approves in the terminal.
  • A weekly job that runs your buying questions through ChatGPT, Perplexity, Gemini, Grok, and Google AI and writes share of model into your metrics store.
  • A workflow that pulls the people who engaged with a competitor's post, tags them, and records outreach so nobody hears from you twice.
  • A webhook consumer that reacts the moment a conversation qualifies, since events and webhooks carry matches, published posts, completed checks, and settled jobs.

How do keys and approvals work?

Keys are minted per workspace and carry scopes: read, write, spend, and post. A read key lists conversations and reads the outcomes ledger. A spend key runs metered work. A post key publishes. A call outside a key's scopes is refused by the server, so the safe default for a new script is a read key.

Every paid call returns a quote before it runs. Send it without approval and you get the price in credits and nothing else happens. Send it again with approved set to true and a max_credits cap and it runs, unless the work would exceed the cap. Reading, events, and webhooks cost nothing, so polling is free and only metered work bills. Long work returns a job you can wait on, poll, or hear about by webhook.

Questions

Is API access free?

Yes. The API, the CLI, the MCP server, events, and webhooks all cost nothing. You pay only for metered work such as sweeps, drafts, renders, and share of model checks, at the same prices a human pays in the portal. A free account starts with 10 credits and no card.

How do I stop a script from overspending?

Give it a read key unless it needs more, and keep the max_credits cap tight on every paid call. The cap is enforced on the server, so a bug that loops cannot spend past it. A sweep that finds nothing qualifying is refunded, and a people graph pull that returns fewer than three people is refunded too.

Can an agent discover the API on its own?

Yes. The site publishes a machine readable index and a full reference generated from the definitions the server ships, so an agent pointed at it sees the current capability list. The for agents page is the entry point.

Oetzi is an AI marketer for founders who need users. It finds the threads where people ask for a product like yours on seven platforms, checks whether the AI engines recommend you, and drafts replies, posts, and short video in your voice. You approve everything. 100 credits included, 10 free to try with no card, 50 bonus credits with the first payment.