Yes. Kaer has an AI agent API. From your own code you can start a Kaer workflow with one POST, hand a job to your AI assistants or the Computer Agent over MCP, and call models, web search, maps and mail on api.kaer.ai. A job sent from code stops at the same approval steps as one started in the app.
Kaer is built to fit the business it works for. It uses a connector where a tool has one, signs in and works in its own browser where a tool has none, and builds the missing tool when nothing does the job. The API is one more way in: your code. If you are still deciding whether a job needs an agent at all, when to use an AI agent and when workflow automation is enough covers that first.
What can you do with the Kaer API?
Two kinds of thing. You can hand work to Kaer's agents on your own Kaer account, and you can call Kaer's building blocks on api.kaer.ai, a separate prepaid platform. They use different keys and different balances, so it helps to know which one a job needs.
| What it does | Endpoint | Key | Docs |
|---|---|---|---|
| On your Kaer account | |||
| Start a published workflow | POST app.kaer.ai/api/webhooks/workflow/{link key} | kaer_sk_, Workflows permission | Workflows |
| Run workflows, ask AI assistants, hand work to the Computer Agent, read mail and calendars | app.kaer.ai/api/mcp (MCP) | kaer_sk_ or OAuth | Connect assistants |
| Read, change, validate and test one workflow's draft | app.kaer.ai/api/mcp/workflows/{id} (MCP) | Editing key for that workflow | Edit with an agent |
| Call models on your plan's credits | POST app.kaer.ai/api/v1/chat/completions, GET /api/v1/models | kaer_sk_, Models API permission | Models API |
| On api.kaer.ai, prepaid | |||
| Chat completions in the standard request format, and the model list with live prices | POST /v1/chat/completions, GET /v1/models | kaer_live_, models | API reference |
| Web search, batch search and licensed images | POST /v1/search, POST /v1/search/batch, POST /v1/images | kaer_live_, search | |
| Geocoding, routing, places, transit, traffic and weather | GET /v1/maps?action=… | kaer_live_, maps | |
| Transactional email from Kaer's sending domain | POST /v1/mail/send, GET /v1/mail/messages/{id} | kaer_live_, mail | |
| The calling key, its scopes, your tier and balances | GET /v1/me | kaer_live_, models | |
The workflow API: start a run with one POST
A workflow is a job you have already done once and want to run again. When you publish one, tick Give it a trigger endpoint, and anything that can send a POST can start it. The link is a secret, and every call also needs an API key from your account with the Workflows permission. The link on its own is not enough.
curl -X POST 'https://app.kaer.ai/api/webhooks/workflow/YOUR_LINK_KEY' \
-H 'Authorization: Bearer kaer_sk_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"customer": "Ada"}'
The JSON you send becomes the run's input, so a step can use it as {{ input.customer }}. Drafts and test runs are free; live runs bill your credits as each step runs.
An API for AI agents: the MCP server
When the job is not a fixed sequence of steps, connect to Kaer's MCP server at https://app.kaer.ai/api/mcp. MCP is the protocol assistants and coding agents use to call tools, and any client that speaks it over Streamable HTTP can connect. What a connection can reach depends on the permissions you tick when you make its key:
- Workflows: list, draft, run, follow, stop and approve workflows. Publishing stays with you in Kaer.
- AI assistants: list, hire, edit and ask the assistants you have set up, each with its own role, instructions and tools.
- Computer Agent: hand work to your Kaer computer, the sandboxed machine with its own browser that Kaer uses for sites nothing connects to.
- Mail, Calendar, Maps, Image & video and Kaer responses, each a permission of its own.
That is how you run an AI agent from code: your program describes the job, an assistant or the Computer Agent works out how to do it, and your program reads the result. For the client side, connecting Claude, ChatGPT, Cursor or Codex to Kaer over MCP walks through each one, and how Kaer works the tools you log into explains what the Computer Agent does once it has the job.
The web search API and the rest of api.kaer.ai
api.kaer.ai is for developers who want Kaer's building blocks without the workspace: one key and one prepaid balance for chat completions, web search, images, maps and transactional mail, at https://api.kaer.ai/v1. Search answers from Kaer's own index, alone or racing the live web, and each response names the lane that ran and what the query cost. This is the request from the reference:
curl https://api.kaer.ai/v1/search \
-H "Authorization: Bearer $KAER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "latest ai research",
"lane": "fast",
"num_results": 5
}'
The response carries served_lane, the ranked results, and kaer.cost_usd. The Search API reference lists every field, and what a web search API should cost in 2026 sets the lanes against other providers.
How do you authenticate?
With a bearer key, and the key depends on the surface.
On your Kaer account, create a key in Settings → Developers → New key, tick only the permissions it needs, and copy it: it starts kaer_sk_ and is shown once. Revoke it from the same page and it stops working at once. The Activity page lists every call each key made. Claude and ChatGPT connect with OAuth instead: you approve the permissions in Kaer and there is no key to paste.
On api.kaer.ai, keys start kaer_live_ and go in Authorization: Bearer or an x-api-key header. Each carries scopes (models, search, maps, mail) and can have an IP allow-list, a monthly budget and an expiry date. Call it from your server: a key that ships to a browser is public.
The two do not mix. A key from Settings → Developers is refused on api.kaer.ai, and the other way round.
How is API usage priced?
Work on your Kaer account bills your credits at the product's own rates. api.kaer.ai bills a prepaid balance per call.
On your account, a live workflow run is billed at the same rates whether it starts in Kaer, from an assistant or from your code, and test runs are free. One credit is a cent: 100 to the dollar. Connecting over MCP needs a paid plan, or an active mailbox for a key that only uses Mail. See Kaer's plans, the credits each action uses and what happens when credits run out.
On api.kaer.ai, new accounts start with no credit and a top-up starts at $5.00. Search, images and maps open at the Starter tier ($5 paid); mail opens at Build ($50 paid and 7 days since your first payment). Every billed response reports what it cost in kaer.cost_usd.
| Service | Price | Notes |
|---|---|---|
Search, web lane | $0.0005 a query | $0.50 per 1,000. Kaer's index alone. |
Search, fast lane | $0.001 a query | $1.00 per 1,000. The index racing the live web. |
Search, deep lane | $0.003 a query | $3.00 per 1,000. Every lane, re-ranked. |
Search, auto | As served | Billed at the lane that answered. |
| Images | $0.002 a call | Licensed pictures with credit lines. |
| $0.001 a message | Plus $0.0005 per recipient. Paid credit only. | |
| Maps | Per request | Only when answered. Rates by action in the reference. |
| Models | Per token | At each model's rate, live at GET /v1/models. |
Holds, top-ups and refunds are in the billing reference.
Is there a CLI?
From a terminal, you drive Kaer through tools you already run: a coding agent's command line, or curl. One command connects Claude Code to your Kaer account:
claude mcp add --transport http kaer https://app.kaer.ai/api/mcp \
--header "Authorization: Bearer kaer_sk_YOUR_KEY" \
--header "Accept: application/json, text/event-stream"
Cursor, Codex and any other Streamable HTTP client take the same URL and headers in their config files. The agent in your terminal can then run your workflows and ask your assistants, within the key's permissions.
For a narrower job, a workflow's Create an editing key gives a coding agent a key bound to that one workflow: it can change and test the draft, and cannot publish it, run it live or reach any other workflow. For scripts and cron jobs, every endpoint above is plain HTTPS, so curl is enough.
Do approvals still apply to jobs sent from code?
Yes. A workflow run is the same run whatever starts it, with the same approvals and the same record. An approval step before a send or a payment stops a run your code started just as it stops one you started by hand.
- Only you decide, by default. Who decides is a setting on each workflow. If you choose to let connected assistants decide, Kaer checks every approval they make: anything that could send, pay, delete, share or change something that matters waits for you, with the reason, and the assistant cannot ask again. Rejections are never held; they stop the run.
- Publishing stays with you. A connected assistant can draft a workflow or change a draft. Only you publish it, in Kaer.
- Email waits as a draft. An AI assistant drafts email to anyone but you and holds it for your approval.
- A key reaches only what you ticked. Sending mail is a grant of its own, separate from searching and reading it.
The gates cover work the agent decides to do. The building blocks on api.kaer.ai are ordinary API calls: POST /v1/mail/send sends the message your code wrote, because your code made that decision. The full list of what always stops for a person is in what Kaer will not do without you.
How is this different from a Zapier webhook?
From the caller's side they look alike: you POST JSON to a URL and a series of steps starts. The difference is what can happen after that.
The Catch Hook trigger in Webhooks by Zapier gives you a unique URL your app can POST to, and Zapier splits the data into fields that later steps in the Zap can use. Zapier lists webhooks on its Professional, Team and Enterprise plans, not on Free (Zapier's help centre, read 4 November 2026).
Kaer's trigger endpoint also turns the JSON into the run's input. It needs an API key with the Workflows permission as well as the secret link, a step can draft text as well as move data, and an approval step stops the run for a person. When the job is not a fixed sequence, your code can ask an AI assistant over MCP instead, or give the job to the Computer Agent when the site has no integration.
If every app in the process is one of Zapier's integrations and the steps never change, a Zap is the established tool, and the two can run side by side. Kaer and Zapier Agents compared covers price and fit.
Frequently asked questions
Does Kaer have an API?
Yes. From your Kaer account you can start a workflow with one POST and connect any MCP client to run workflows, ask your AI assistants or hand work to the Computer Agent. api.kaer.ai is a separate prepaid platform for chat completions, web search, images, maps and transactional mail.
Can I start a Kaer workflow from my own code?
Yes. When you publish the workflow, tick Give it a trigger endpoint. POST JSON to that link with an API key from your account that has the Workflows permission, and the JSON becomes the run's input. The link on its own does not start a run.
Do approval steps still apply when a job comes from code?
Yes. A workflow run follows the same steps and approvals whatever starts it. By default only you decide an approval. If you let connected assistants decide, Kaer still holds anything that could send, pay, delete, share or change something that matters until you decide.
Which API key do I need?
For work on your Kaer account, a kaer_sk_ key from Settings → Developers with only the permissions it needs. For api.kaer.ai, a kaer_live_ key from that platform's dashboard. Each key works only on its own surface.
How much does the Kaer web search API cost?
$0.50 per 1,000 queries on the web lane, $1.00 on fast and $3.00 on deep, prepaid. Auto is billed at the lane that served the query, every response reports its cost in kaer.cost_usd, and a query that times out is not charged.
Can I use Kaer from the command line?
Yes, through tools you already run. One claude mcp add command connects Claude Code to Kaer's MCP server, Cursor and Codex take the same URL and headers in their config files, and every endpoint is plain HTTPS, so curl works.



