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 spechttps://anakin.io/openapi.json
For your appsCustom integration (workspace admin, Builder plan or higher)
For the builder chatMCP 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:

  1. In Base44, click your workspace name (bottom left) and open Settings.
  2. Under Build tools, open Custom integrations and click Add integration.
  3. Choose From URL and enter https://anakin.io/openapi.json. Click Continue.
  4. Select the endpoints your apps need (Base44 allows up to 30). The spec has 34; see Which endpoints to select.
  5. Set Slug to anakin and Name to Anakin. Leave the Base URL as https://api.anakin.io/v1.
  6. Click Add Header. Set the name to X-API-Key and the value to your API key. Base44 stores it as an encrypted secret and never sends it to the browser.
  7. 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 outWhy
post:/wire/loginSigns in to third-party websites with user credentials
post:/wire/build-requestBuilds 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 id and a status of processing. Fetch the result later with get:/url-scraper/{jobId}.
  • It's limited to 20 requests per minute. For higher volume, use post:/url-scraper and poll get:/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:

  1. In Base44, open Account preferences → Builder → MCP Connections.
  2. Add a connection named Anakin with the URL https://mcp.anakin.io/mcp.
  3. Choose OAuth as the authentication method, then sign in to Anakin and approve access when prompted.
  4. Click Test & add.

MCP connections work only in the editor chat. Apps can't call them at runtime; use the custom integration for that.