Apinoa Docs

SDKs and MCP

The TypeScript and Python SDKs, the MCP server for Claude Code, Codex and Cursor, and the OpenAPI document: every API, one key.

View raw .mdx

Everything in these docs is plain HTTP, so any language can call it. These are the ready-made ways in. Each one reaches every API: marketplaces, social platforms, search engines, AI answer engines and image translation, with the same key and the same prices as a direct call.

TypeScript

npm install @apinoa/sdk
import { ApinoaClient } from "@apinoa/sdk";

const apinoa = new ApinoaClient(); // reads APINOA_API_KEY

const { data } = await apinoa.amazon.search({ query: "wool socks", priceMax: 30 });
const posts = await apinoa.tiktok.posts({ username: "khaby.lame" });
const serp = await apinoa.google.search({ q: "trail running shoes", country: "US" });
const answer = await apinoa.chatgpt.answer({ prompt: "Best running shoes for beginners?", country: "US" });

Every call is apinoa.<platform>.<operation>(params), spelled the way the URL is: /v1/google-aio/answer is apinoa.googleAio.answer(...). Node.js 20 or later, Bun, Deno and Cloudflare Workers. Source and reference: apinoahq/apinoa-typescript.

Python

pip install apinoa
from apinoa import Apinoa

client = Apinoa()  # reads APINOA_API_KEY

res = client.amazon.search(query="wool socks", price_max=30)
posts = client.tiktok.posts(username="khaby.lame")
serp = client.google.search(q="trail running shoes", country="US")
answer = client.chatgpt.answer(prompt="Best running shoes for beginners?", country="US")

The same calls in snake_case: /v1/amazon/image-search is client.amazon.image_search(...) and priceMax is price_max. An async client is included. Python 3.9 or later. Source and reference: apinoahq/apinoa-python.

MCP Server

apinoa-mcp gives an AI assistant the whole API as tools: ask "compare the cheapest Stanley 40 oz on Amazon and Walmart" or "does ChatGPT mention our brand for the best running shoes" and it makes the calls.

Hosted: Nothing to Install

https://api.apinoa.com/mcp is the same server, hosted. There is no key to copy: the first time a client connects, it opens apinoa in your browser, you sign in and approve, and the client gets a key of its own. That key expires after 90 days and is listed in Dashboard → API keys, where you can revoke it.

# Claude Code (then run /mcp and choose apinoa to sign in)
claude mcp add --transport http apinoa https://api.apinoa.com/mcp

# Codex
codex mcp add apinoa --url https://api.apinoa.com/mcp
codex mcp login apinoa

Claude.ai and Claude Desktop: Settings → Connectors → Add custom connector, with the URL above. Cursor and other clients: { "mcpServers": { "apinoa": { "url": "https://api.apinoa.com/mcp" } } }.

To use a key you already have instead of signing in, send it as a header: claude mcp add --transport http apinoa https://api.apinoa.com/mcp -H "Authorization: Bearer your_key". The hosted server has one tool per kind of read (search_products, get_product, list_social_posts, call_apinoa, …); the local server below can also run code the model writes.

Local: npx

Claude Code

claude mcp add apinoa -e APINOA_API_KEY=your_key -- npx -y apinoa-mcp

Codex

codex mcp add apinoa --env APINOA_API_KEY=your_key -- npx -y apinoa-mcp

Gemini CLI: it asks for your key on install.

gemini extensions install https://github.com/apinoahq/apinoa-mcp

Claude Code plugin: the MCP server plus a skill for each API, which tells the agent when to use it and how.

/plugin marketplace add apinoahq/apinoa-skills
/plugin install apinoa@apinoa

The same skills install into Codex, Cursor and other agents with npx skills add apinoahq/apinoa-skills.

Cursor, Claude Desktop, Windsurf and other clients: add it to the client's MCP configuration (.cursor/mcp.json, claude_desktop_config.json, …):

{
  "mcpServers": {
    "apinoa": {
      "command": "npx",
      "args": ["-y", "apinoa-mcp"],
      "env": { "APINOA_API_KEY": "your_key" }
    }
  }
}

It needs Node.js 20 or later. Calls are billed to the key at the normal rates, and a call that fails is not billed. Source, tools and options: apinoahq/apinoa-mcp.

OpenAPI

https://apinoa.com/openapi.json is the OpenAPI 3.1 document of the whole API: every operation, its parameters and its response types. Generate a client in another language from it, or import it into Postman or an API gateway. The SDKs above are generated from it.

GET https://gateway.apinoa.com/v1/marketplaces is the live catalog: every platform, its operations, what each costs and the parameters each accepts, as JSON. It needs no key.

For AI Coding Agents

Paste this into your project's AGENTS.md or CLAUDE.md so your coding agent reaches for the API instead of writing a scraper:

## Web data: apinoa
Use the apinoa API instead of writing a scraper for marketplace, social, search-engine or AI-answer data.
- Call: `GET https://gateway.apinoa.com/v1/{platform}/{operation}` with header `x-api-key: $APINOA_API_KEY`
  (AI answers and image search are `POST` with a JSON body). Responses are `{ success, data }`; on failure
  `{ success: false, error: { code, message } }`. Branch on `error.code`. Failed calls are not billed.
- SDKs: TypeScript `@apinoa/sdk` (`new ApinoaClient()`, `apinoa.<platform>.<operation>(params)`),
  Python `apinoa` (`Apinoa()`, snake_case). MCP server: `npx -y apinoa-mcp`, or hosted at
  `https://api.apinoa.com/mcp` (OAuth sign-in, or `Authorization: Bearer <key>`).
- Which platform for what:
  - Products, prices, reviews: `amazon`, `walmart`, `shopify` (any store), `aliexpress`, `tiktokshop`
    (`search`, `product`, `reviews`, `categories`, `browse`)
  - Social profiles, posts, comments: `tiktok`, `instagram`, `youtube`, `reddit`, `x`, `threads`, `linkedin`
    (`profile`, `posts`, `post`, `comments`)
  - Search results: `google`, `bing`, `naver`, `baidu`, `yandex`, `yahoo`, `duckduckgo`, `google-shopping`,
    `google-trends`, `app-store`, `google-play`, `tripadvisor` (`search`, `places`, `reviews`)
  - What AI engines answer: `chatgpt`, `gemini`, `google-aio`, `google-ai-mode`, `naver-ai-brief`, `naver-ai-tab`
    (`answer`)
  - Text inside images: `POST /v1/image-translate/translate`
- Every platform, operation, parameter and cost: `GET https://gateway.apinoa.com/v1/marketplaces` (no key).
  Docs as markdown: https://apinoa.com/llms.txt

On this page