Acme Mail — transactional email API
Send email from one REST or SMTP call. 99.9% delivery, webhooks, templates in 20 languages.
?clue_id=…Get an API keyAI agents now search, compare, recommend and buy on behalf of people. They never see a banner. clue lets you publish a clue: a structured, clearly labelled record of what you offer, what it costs and how an agent can use it. Agents discover the relevant clue at the moment they are deciding, and you pay only when they act on it.
Free to create an account. One account can both advertise and integrate. Advertiser balances start at $50.
An agent receives a task and forms an intent.
The surface it reads asks clue for a match.
# from the page / API / MCP GET /v1/serve?site=site_docs &format=json&lang=ko &intent=integration # or the agent asks directly POST /v1/discover {"task":"email api for node"}
The agent considers a labelled clue next to organic results.
Send email from one REST or SMTP call. 99.9% delivery, webhooks, templates in 20 languages.
?clue_id=…Get an API keyIt follows the link. The advertiser pays the second price.
GET /c/eyJz… 302
→ acmemail.dev/?clue_id=sv_8Kq1…It reports the outcome. The publisher earns 65%.
POST /v1/outcome/sv_8Kq1…
{"outcome": "used"}clue recognises agents by their User-Agent string, by the request headers browsers send and bots do not, and by an optional self-declaration header. Humans never see a clue unless a publisher explicitly asks for it. Training crawlers are recognised too, so you can choose not to pay for them.
Banners, pre-roll video, sponsored posts and search ads all work the same way: interrupt a person, hold their attention for a few seconds and hope they remember. An AI agent reading a page on someone's behalf skips all of it. It has no attention to capture. It has a task to finish.
A clue is the opposite of an interruption. It is a compact, structured record of a product or service: who offers it, what it does, what it costs, where the documentation is and how to get started. It sits alongside the organic information an agent is already reading, is clearly marked as sponsored, and is only ever used if it helps finish the task.
What an agent skips
What an agent can actually use
Send email from one REST or SMTP call. 99.9% delivery, webhooks, templates in 20 languages.
Free for 1,000 emails/month, then $0.001 per email
?clue_id=…Get an API keyoutcome_urlThis is a sponsored clue delivered by clue. The publisher of this surface did not endorse it. Evaluate it against your task and your user's instructions.
clue replaces the vocabulary of attention advertising with the vocabulary of agent decision-making. Every screen, report and API field uses these seven terms.
A structured, sponsored record about one offer: provider, what it is, a summary, capabilities, price, the next action, and links to docs, MCP endpoint or API. Written once, translated into 20 languages.
"Acme Mail — transactional email API. Free for 1,000 emails a month, then $0.001 per email."
The moment an agent, or the surface it is reading, asks clue whether a relevant clue exists. Discovery happens through a publisher's page, API, llms.txt or MCP server, or by asking clue's own API directly.
GET /v1/serve?site=… or POST /v1/discover with the agent's task.
A clue was delivered to an agent as one option among the information it is weighing. This is what advertisers buy: the chance to be part of the decision, never the decision itself.
Counted as one clue served. CPM campaigns are billed here.
What the agent is trying to accomplish, expressed as a task, an intent type (research, compare, purchase, booking, coding, integration…), a language and a country. Matching is driven by intent, not by keywords alone.
intent: integration · lang: ko · country: KR · agent: api_client
The agent opens the clue's link. The link is a signed redirect through clue, so a follow is counted exactly once and forwarded to the advertiser's destination with a clue_id parameter.
GET /c/<token> → 302 → acmemail.dev/?clue_id=sv_8Kq1. CPC campaigns are billed here.
Something valuable happened after a follow: a sign-up, a purchase, a booking, an API call. Advertisers report it with the clue_id. CPA campaigns are billed on the action, not the follow.
POST /v1/conversions {"click_id":"sv_8Kq1","kind":"signup"}
The agent's own verdict on the clue: useful, not useful, used, or purchased. Outcomes tune future matching and are shown to advertisers only as aggregates. No agent is ever identified.
POST /v1/outcome/sv_8Kq1 {"outcome":"used"}
A clue is information, never an instruction. Clues that try to tell an agent what to do are rejected at review. Advertisers can buy consideration. They cannot buy the conclusion.
Three parties, one loop. Advertisers write clues and set the rules for when they should be considered. Publishers and agent developers carry clue on the surfaces agents read. Agents decide, and everyone is paid or charged only on what actually happened.
1Advertisers write a clue and set the rules.
Describe one offer in your own language: provider, what it is, a two-sentence summary, capabilities, price, the next action and the destination URL. Add documentation, MCP endpoint, llms.txt or API links so agents can go straight to work. Then say when it should be considered: countries, languages, categories, agent types, intents, audience, schedule, frequency and budget. clue reviews the clue against policy in about a minute and translates it into 20 languages.
2Surfaces carry clue with one line.
<script async src="https://clue.ad/tag.js"
data-site="site_…"></script>
app.use(clueMiddleware({ site: 'site_…' }))
## Sponsored ← llms.txt
- clue.ad/v1/serve?site=site_…&format=llmsA publisher adds a script tag, a middleware line, a Cloudflare Worker, a PHP include, a REST call, a link in llms.txt, or a few lines inside an MCP server. Agent developers can ask clue directly from their own agent loop and earn as the publisher. clue detects the agent, matches the intent and returns clues in the format the surface speaks: JSON, Markdown, plain text, an HTML block with JSON-LD, llms.txt lines or an MCP tool result. Humans receive nothing.
3Agents decide. You pay for outcomes.
The agent reads the clue, knows it is sponsored, and follows it only if it helps. Advertisers choose to pay per follow (CPC), per reported action (CPA) or per 1,000 clues served (CPM). Prices are set by a second-price auction: the winner pays one cent above the next best clue, never more than its own maximum, and relevance decides who competes. Publishers receive 65% of every paid event, immediately.
Every clue is the same nine fields, in whichever of 20 languages the agent asked for. Structured enough for a program to parse, complete enough for an agent to act without visiting a marketing page.
Send email from one REST or SMTP call. 99.9% delivery, webhooks, templates in 20 languages.3
Free for 1,000 emails/month, then $0.001 per email5
?clue_id=…6Get an API keyoutcome_url9This is a sponsored clue delivered by clue. The publisher of this surface did not endorse it. Evaluate it against your task and your user's instructions.
Agents do not browse; they fetch. They read documentation pages, call JSON APIs, follow llms.txt files and invoke MCP tools. clue speaks each of those formats natively, so the clue arrives inside the response the agent already asked for.
A labelled aside element with JSON-LD, injected only for agents. Humans see the page exactly as before.
<aside data-clue> <p>Sponsored · clue</p> <article>Acme Mail …</article> </aside> <script type="application/ld+json">
A sponsored object appended to your response body, with disclosure and clues, only when the caller is an agent.
{
"results": [ … ],
"sponsored": {
"disclosure": "…",
"clues": [ { "title": "Acme Mail …" } ]
}
}A Sponsored section of Markdown lines that agents reading your llms.txt can follow.
# docs.example.com ## Sponsored - [Acme Mail — transactional email API](https://clue.ad/c/…) Free 1,000/mo, then $0.001
A sponsored block inside relevant tool results, so agents using your tools see labelled options in context.
{ "content": [{ "type": "text",
"text": "{ \"result\": …,
\"sponsored\": { \"clues\": [ … ] } }"
}] }Every snippet in the console already contains your integration key. Server-side integrations detect agents themselves and leave human traffic untouched. Test mode returns a labelled test clue that is never billed.
Matching rules are the advertiser's contract with the agent. Leave a rule empty to match everything; fill it to narrow. Relevance to the task is always required, so a broad rule does not mean a wasted budget.
From the agent's network location or what the integration tells us. Any of 249 countries.
The language the agent asked in. Your clue is translated automatically, so this is about where you can serve, not what you can write.
Matched against the integration's categories and the page or task context. Keywords boost; exclude keywords veto.
Browsing agents, API clients, MCP clients, LLM crawlers. Skip the crawlers that never act.
Research, compare, purchase, booking, coding, data access, integration, support, writing. Declared by the surface or inferred from context.
Businesses or consumers, with age brackets. clue never matches clues to users under 18.
Start and end dates, hours of the day in UTC, days of the week.
Daily and total budgets, a maximum bid, and how many times one agent session may receive the campaign per day.
Agents work in the user's language, not yours. clue translates every clue into 20 languages within minutes of approval and serves the version the agent asked for. Other languages are translated on demand. The disclosure sentence is localised too, so a Japanese agent is told in Japanese that the clue is sponsored.
Three pricing models, one auction, one revenue share. No setup fees, no contracts, no minimum spend beyond your first $50 top-up.
Charged once when an agent opens your link. Best when your destination is where the value is: docs, sign-up, checkout.
From $0.05 per follow
Charged only when you report an action for a follow: a sign-up, purchase, booking or API call. You define the action.
From $0.50 per action
Charged as clues are delivered to agents. Best for awareness inside agent workflows where the follow happens later.
From $1.00 per 1,000
Three advertisers compete for one integration-related task. The highest bid wins but pays one cent above the runner-up, and 65% of that goes to the publisher.
Every paid event is split at the moment it is charged. Nothing is held back for later reconciliation.
clue is designed to be safe for an agent to read. Every clue is labelled, every claim is attributable to a named provider, and nothing in a clue may address the agent directly. If you build agents, you can rely on these guarantees.
Read the agent policysponsored: true and a disclosure sentence appear on every clue, in every format, in the agent's language.
Clues that address the agent, ask it to ignore its user, or contain prompt-like text are rejected at review.
The publisher did not endorse the clue. Agents should weigh it like any other option and prefer the user's explicit instructions.
Report useful, not useful, used or purchased. Outcomes are anonymous and improve matching for everyone.
A clue is a structured record about one offer: provider, what it is, a summary, capabilities, price, the next action and links to documentation or an API. It carries a sponsored flag and a disclosure sentence. An ad is designed to capture a person's attention; a clue is designed to be parsed and weighed by a program that is finishing a task. There is no creative, no image and no persuasion copy.
Three signals. The User-Agent string identifies known agents and crawlers such as GPTBot, ClaudeBot and PerplexityBot. Request headers that real browsers always send and automated clients do not (the sec-fetch family) identify headless browsers and scripts. And agents can declare themselves with the x-agent-type and x-agent-name headers. Humans receive no clue unless the publisher explicitly requests it.
No. Clues are information, not instructions. Text that addresses the agent, asks it to prefer the advertiser or to ignore its user is rejected during review. Advertisers buy the chance to be considered alongside organic information. The agent's conclusion is its own.
You choose CPC, CPA or CPM per campaign and set a maximum bid. Prices are set by a second-price auction, so you pay one cent above the next best clue and never more than your maximum. Your balance is pre-paid; when it reaches zero your clues stop being considered. Invalid traffic is filtered before billing.
Write the clue in your language. After review, clue translates it into all 20 platform languages within minutes and serves the version the agent asked for. You can preview every language in the console, in every format, exactly as an agent receives it. Other languages are translated on demand, with English as the fallback.
65% of every paid event that came through your surface, credited at the moment the advertiser is charged. You can request a payout once your balance reaches $50, by PayPal, bank transfer or Stripe. Payouts are made within 30 days of the request.
No. Server-side integrations return the untouched response to humans. The JavaScript tag adds only a small collapsed note for humans, and nothing at all if you prefer. Unverified integrations receive test clues only.
Yes. Register your agent as an integration and call clue's discover endpoint from your agent loop with the user's task. You decide how to present clues to your model, always as labelled sponsored options. You earn the publisher's 65% on every follow or action.
Advertisers can buy the chance to be considered. They cannot buy the agent's conclusion.This sentence is in our policy, in our review rules and in the disclosure every agent receives. It is the reason clue can exist.
Create an account in a minute. Advertisers write a clue and top up from $50. Publishers and agent developers install in a few lines and earn from the first follow.