Base44
Use Anakin in Base44 apps — import the Anakin OpenAPI spec as a custom integration so your apps can scrape pages, search the web, run deep research, crawl sites, run Wire actions, and monitor websites, and connect the Anakin MCP server to Base44's AI builder chat.
Base44 apps can call Anakin through a custom integration built from Anakin's OpenAPI spec. Your API key is stored once as an encrypted workspace secret, and every app in the workspace can use it.
You can also connect Anakin's MCP server to Base44's AI builder chat, so the AI can look things up on the web while it builds your app.
| OpenAPI spec | https://anakin.io/openapi.json |
| For your apps | Custom integration (workspace admin, Builder plan or higher) |
| For the builder chat | MCP connection to https://mcp.anakin.io/mcp (Builder plan or higher) |
Use Anakin in your apps
1. Get your API key
Sign up at anakin.io/signup and copy your API key from the Dashboard. New accounts get 300 free credits, no card required.
2. Add the custom integration
A workspace admin or owner sets this up once for the whole workspace:
- In Base44, click your workspace name (bottom left) and open Settings.
- Under Build tools, open Custom integrations and click Add integration.
- Choose From URL and enter
https://anakin.io/openapi.json. Click Continue. - Select the endpoints your apps need (Base44 allows up to 30). The spec has 34; see Which endpoints to select.
- Set Slug to
anakinand Name toAnakin. Leave the Base URL ashttps://api.anakin.io/v1. - Click Add Header. Set the name to
X-API-Keyand the value to your API key. Base44 stores it as an encrypted secret and never sends it to the browser. - Click Create Integration.
Any member of the workspace can now use Anakin in their apps, including members on the free plan.
3. Call Anakin from an app
Ask the Base44 AI in plain language, for example "Use the Anakin integration to scrape the URL the user enters and show the page as markdown." It writes the code for you.
The generated code calls base44.integrations.custom.call() with the integration slug and the endpoint as method:/path. The API's response is in data:
const response = await base44.integrations.custom.call(
"anakin",
"post:/url-scraper/scrape",
{ payload: { url: "https://example.com", country: "us" } }
);
const page = response.data;
if (page.status === "completed") {
console.log(page.markdown);
}Which endpoints to select
Base44 limits a custom integration to 30 endpoints. For most apps, select everything except these four:
| Leave out | Why |
|---|---|
post:/wire/login | Signs in to third-party websites with user credentials |
post:/wire/build-request | Builds new Wire actions and spends credits; better done in the Anakin dashboard |
get:/wire/build-requests/{id} | Only needed alongside build requests |
delete:/sessions/{id} | Deletes saved browser sessions |
If your app only needs a few features, select just those. Common sets:
- Scrape a page:
post:/url-scraper/scrape,get:/url-scraper/{jobId} - Search and research:
post:/search,post:/agentic-search,get:/agentic-search/{jobId} - Crawl a site:
post:/map,get:/map/{jobId},post:/crawl,get:/crawl/{jobId} - Pre-built site actions (Wire):
get:/wire/resolve,get:/wire/catalog,get:/wire/catalog/{slug},post:/wire/task,get:/wire/jobs/{jobId} - Monitoring:
post:/monitors,get:/monitors,get:/monitors/{id}/changes
Long-running jobs
Search and the synchronous scrape (post:/url-scraper/scrape) return their results directly. Map, crawl, deep research, AI Visibility searches and browser tasks start a job instead: the first call returns a job ID, and you fetch the result with the matching get endpoint until its status is completed or failed.
const started = await base44.integrations.custom.call("anakin", "post:/crawl", {
payload: { url: "https://example.com", maxPages: 10 },
});
let result;
do {
await new Promise((resolve) => setTimeout(resolve, 3000));
result = await base44.integrations.custom.call("anakin", "get:/crawl/{jobId}", {
pathParams: { jobId: started.data.jobId },
});
} while (!["completed", "failed"].includes(result.data.status));Two things to know about the synchronous scrape:
- If a page takes longer than about 90 seconds, it returns early with an
idand astatusofprocessing. Fetch the result later withget:/url-scraper/{jobId}. - It's limited to 20 requests per minute. For higher volume, use
post:/url-scraperand pollget:/url-scraper/{jobId}.
Use Anakin in the builder chat
Connect the Anakin MCP server so Base44's AI can scrape, search and research while it builds your app:
- In Base44, open Account preferences → Builder → MCP Connections.
- Add a connection named
Anakinwith the URLhttps://mcp.anakin.io/mcp. - Choose OAuth as the authentication method, then sign in to Anakin and approve access when prompted.
- Click Test & add.
MCP connections work only in the editor chat. Apps can't call them at runtime; use the custom integration for that.
Related
- API reference
- Claude Connector: the same hosted MCP server
- Base44 custom integrations documentation