> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nativeport.ai/api-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nativeport.ai/_mcp/server. # API Reference ## API Docs - API Reference [Query a Brave Search vertical](https://docs.nativeport.ai/api-reference/api-reference/brave-search.md) - API Reference > Catalog [Model Context Protocol endpoint (Streamable HTTP, stateless)](https://docs.nativeport.ai/api-reference/api-reference/catalog/mcp.md) - API Reference > Catalog [List the endpoint catalog, or rank it by keywords](https://docs.nativeport.ai/api-reference/api-reference/catalog/list.md) - API Reference > Catalog [One catalog entry with a ready-to-send request](https://docs.nativeport.ai/api-reference/api-reference/catalog/get.md) - API Reference > Catalog [The agent skill, generated from the catalog](https://docs.nativeport.ai/api-reference/api-reference/catalog/skill-markdown.md) - API Reference > Catalog [Balance and status of the calling key](https://docs.nativeport.ai/api-reference/api-reference/catalog/account-get.md) - API Reference > Serper [Search Serper, query-string form (alias of /serper/search)](https://docs.nativeport.ai/api-reference/api-reference/serper/search-alias.md) - API Reference > Serper [Search Serper, JSON-body form (alias of /serper/search)](https://docs.nativeport.ai/api-reference/api-reference/serper/search-alias-post.md) - API Reference > Serper [Invoke a Serper endpoint (query-string form)](https://docs.nativeport.ai/api-reference/api-reference/serper/endpoint-get.md) - API Reference > Serper [Invoke a Serper endpoint (JSON-body form)](https://docs.nativeport.ai/api-reference/api-reference/serper/endpoint-post.md) - API Reference > Scraper API [Scrape a target URL](https://docs.nativeport.ai/api-reference/api-reference/scraper-api/scrape.md) - API Reference > Scraper API [Form submission passthrough (POST)](https://docs.nativeport.ai/api-reference/api-reference/scraper-api/post.md) - API Reference > Scraper API [Form submission passthrough (PUT)](https://docs.nativeport.ai/api-reference/api-reference/scraper-api/put.md) - API Reference > Serp API [Run a SerpApi search](https://docs.nativeport.ai/api-reference/api-reference/serp-api/search.md) - API Reference > Eleven Labs [Relay an ElevenLabs GET](https://docs.nativeport.ai/api-reference/api-reference/eleven-labs/get.md) - API Reference > Eleven Labs [Relay an ElevenLabs POST](https://docs.nativeport.ai/api-reference/api-reference/eleven-labs/post.md) - API Reference > Search API Io [Run a SearchAPI.io search](https://docs.nativeport.ai/api-reference/api-reference/search-api-io/searchapi-search.md) - API Reference > You Com [Run a You.com search](https://docs.nativeport.ai/api-reference/api-reference/you-com/youcom-search.md) - API Reference > Data for Seo [Relay a DataForSEO POST](https://docs.nativeport.ai/api-reference/api-reference/data-for-seo/post.md) - API Reference > Tavily [Invoke a Tavily endpoint](https://docs.nativeport.ai/api-reference/api-reference/tavily/proxy.md) - API Reference > Exa [Invoke an Exa endpoint](https://docs.nativeport.ai/api-reference/api-reference/exa/proxy.md) - API Reference > Linkup [Run a Linkup search](https://docs.nativeport.ai/api-reference/api-reference/linkup/search.md) - API Reference > Parallel [Run a Parallel search](https://docs.nativeport.ai/api-reference/api-reference/parallel/search.md) - API Reference > Type Safe [Answer typed questions about supplied state](https://docs.nativeport.ai/api-reference/api-reference/type-safe/system-one.md) - API Reference > Jina [Relay a Jina GET](https://docs.nativeport.ai/api-reference/api-reference/jina/get.md) - API Reference > Jina [Relay a Jina POST](https://docs.nativeport.ai/api-reference/api-reference/jina/post.md) - API Reference > Firecrawl [Relay a Firecrawl GET](https://docs.nativeport.ai/api-reference/api-reference/firecrawl/get.md) - API Reference > Firecrawl [Relay a Firecrawl POST](https://docs.nativeport.ai/api-reference/api-reference/firecrawl/post.md) - API Reference > Firecrawl [Relay a Firecrawl DELETE](https://docs.nativeport.ai/api-reference/api-reference/firecrawl/delete.md) - API Reference > Scraping Bee [Scrape a page with ScrapingBee](https://docs.nativeport.ai/api-reference/api-reference/scraping-bee/scrape.md) - API Reference > Scraping Bee [Scrape a POST target with ScrapingBee](https://docs.nativeport.ai/api-reference/api-reference/scraping-bee/post.md) - API Reference > Scrapfly [Scrape a page with Scrapfly](https://docs.nativeport.ai/api-reference/api-reference/scrapfly/scrape.md) - API Reference > Scrapfly [Scrape a POST target with Scrapfly](https://docs.nativeport.ai/api-reference/api-reference/scrapfly/post.md) - API Reference > Scrapfly [PUT through to the target](https://docs.nativeport.ai/api-reference/api-reference/scrapfly/put.md) - API Reference > Scrapfly [PATCH through to the target](https://docs.nativeport.ai/api-reference/api-reference/scrapfly/patch.md) - API Reference > Scrapfly [HEAD through to the target](https://docs.nativeport.ai/api-reference/api-reference/scrapfly/head.md) - API Reference > Zen Rows [Scrape a page with ZenRows](https://docs.nativeport.ai/api-reference/api-reference/zen-rows/scrape.md) - API Reference > Zen Rows [Scrape a POST target with ZenRows](https://docs.nativeport.ai/api-reference/api-reference/zen-rows/post.md) - API Reference > Crawlbase [Crawl a page (Normal token)](https://docs.nativeport.ai/api-reference/api-reference/crawlbase/scrape.md) - API Reference > Crawlbase [POST through to the target site (Normal token)](https://docs.nativeport.ai/api-reference/api-reference/crawlbase/post.md) - API Reference > Crawlbase [Crawl a page (JavaScript token)](https://docs.nativeport.ai/api-reference/api-reference/crawlbase/js-scrape.md) - API Reference > Crawlbase [POST through to the target site (JavaScript token)](https://docs.nativeport.ai/api-reference/api-reference/crawlbase/js-post.md) - API Reference > Oxylabs [Scrape on Oxylabs' realtime endpoint](https://docs.nativeport.ai/api-reference/api-reference/oxylabs/proxy.md) - API Reference > Bright Data [Send a Web Unlocker / SERP request](https://docs.nativeport.ai/api-reference/api-reference/bright-data/brightdata-proxy.md) - API Reference > Spider [Relay a Spider POST](https://docs.nativeport.ai/api-reference/api-reference/spider/post.md) - API Reference > Apify [Start an asynchronous actor run](https://docs.nativeport.ai/api-reference/api-reference/apify/start-actor-run.md) - API Reference > Apify [Start an asynchronous saved-task run](https://docs.nativeport.ai/api-reference/api-reference/apify/start-task-run.md) - API Reference > Apify [Poll an asynchronous run](https://docs.nativeport.ai/api-reference/api-reference/apify/get-run.md) - API Reference > Apify [Abort an asynchronous run](https://docs.nativeport.ai/api-reference/api-reference/apify/abort-run.md) - API Reference > Apify [Read the items an asynchronous run produced](https://docs.nativeport.ai/api-reference/api-reference/apify/get-dataset-items.md) - API Reference > Browserbase [Relay a Browserbase GET](https://docs.nativeport.ai/api-reference/api-reference/browserbase/get.md) - API Reference > Browserbase [Relay a Browserbase POST](https://docs.nativeport.ai/api-reference/api-reference/browserbase/post.md) - API Reference > Zyte [Scrape or extract with Zyte](https://docs.nativeport.ai/api-reference/api-reference/zyte/proxy.md) - API Reference > Fish Audio [Synthesize speech (Text to Speech)](https://docs.nativeport.ai/api-reference/api-reference/fish-audio/fishaudio-tts.md) - API Reference > Fish Audio [Synthesize speech with word-level timestamps (streaming)](https://docs.nativeport.ai/api-reference/api-reference/fish-audio/fishaudio-tts-stream-with-timestamp.md) - API Reference > Fish Audio [Transcribe audio (Speech to Text)](https://docs.nativeport.ai/api-reference/api-reference/fish-audio/fishaudio-asr.md) - API Reference > Fish Audio [Generate synthetic voice candidates (Voice Design)](https://docs.nativeport.ai/api-reference/api-reference/fish-audio/fishaudio-voice-design.md) - API Reference > Browserless [Capture a screenshot with Browserless](https://docs.nativeport.ai/api-reference/api-reference/browserless/screenshot.md) - API Reference > Browserless [Render a PDF with Browserless](https://docs.nativeport.ai/api-reference/api-reference/browserless/pdf.md) - API Reference > Browserless [Fetch fully rendered HTML](https://docs.nativeport.ai/api-reference/api-reference/browserless/content.md) - API Reference > Browserless [Extract structured data with CSS selectors](https://docs.nativeport.ai/api-reference/api-reference/browserless/scrape.md) - API Reference > Steel [Scrape a page with Steel](https://docs.nativeport.ai/api-reference/api-reference/steel/scrape.md) - API Reference > Steel [Capture a screenshot with Steel](https://docs.nativeport.ai/api-reference/api-reference/steel/screenshot.md) - API Reference > Steel [Render a PDF with Steel](https://docs.nativeport.ai/api-reference/api-reference/steel/pdf.md) - API Reference > Mistral [OCR a document or image (Document AI)](https://docs.nativeport.ai/api-reference/api-reference/mistral/ocr.md) - API Reference > Llama Parse [Start a document parse](https://docs.nativeport.ai/api-reference/api-reference/llama-parse/create-parse.md) - API Reference > Llama Parse [Read a parse job](https://docs.nativeport.ai/api-reference/api-reference/llama-parse/get-parse.md) - API Reference > Open AI [OpenAI's own job-completion webhook (not client-facing)](https://docs.nativeport.ai/api-reference/api-reference/open-ai/webhook.md) - API Reference > Open AI [Relay an OpenAI GET: models, files, vector stores, batches](https://docs.nativeport.ai/api-reference/api-reference/open-ai/get.md) - API Reference > Open AI [Run OpenAI inference, or create a file, batch or job](https://docs.nativeport.ai/api-reference/api-reference/open-ai/post.md) - API Reference > Open AI [Delete a file or vector store you own](https://docs.nativeport.ai/api-reference/api-reference/open-ai/delete.md) - API Reference > Anthropic [Relay an Anthropic GET (models, or your own files/batches)](https://docs.nativeport.ai/api-reference/api-reference/anthropic/get.md) - API Reference > Anthropic [Send a Messages request, count tokens, create a file](https://docs.nativeport.ai/api-reference/api-reference/anthropic/post.md) - API Reference > Anthropic [Delete a file you own](https://docs.nativeport.ai/api-reference/api-reference/anthropic/delete.md) - API Reference > Grok [Relay a Grok GET: models, responses, files, batches](https://docs.nativeport.ai/api-reference/api-reference/grok/get.md) - API Reference > Grok [Run inference, tokenize, or create a file/batch](https://docs.nativeport.ai/api-reference/api-reference/grok/post.md) - API Reference > Grok [Delete a stored response or file you own](https://docs.nativeport.ai/api-reference/api-reference/grok/delete.md) - API Reference > Hugging Face [List the catalog, or look up one model](https://docs.nativeport.ai/api-reference/api-reference/hugging-face/huggingface-get.md) - API Reference > Hugging Face [Run chat completion inference](https://docs.nativeport.ai/api-reference/api-reference/hugging-face/huggingface-post.md) - API Reference > Inference [Run chat inference against any canonical model](https://docs.nativeport.ai/api-reference/api-reference/inference/chat-completions.md) - API Reference > Inference [List every model your key can reach](https://docs.nativeport.ai/api-reference/api-reference/inference/list-models.md) - API Reference > Inference [Look up one canonical model](https://docs.nativeport.ai/api-reference/api-reference/inference/get-model.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.nativeport.ai/openapi.json) - [OpenAPI YAML](https://docs.nativeport.ai/openapi.yaml) > **Note:** This page contains both a page directory (above) and the landing page content (below). The page directory is generated for agent use and does not appear on the landing page. > For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nativeport.ai/api-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nativeport.ai/_mcp/server. # API reference > Which prefix reaches which upstream, where the credential is injected, which routes relay a response untouched, and how a call meters your balance. This reference is generated from the gateway's OpenAPI specification, and it documents the gateway itself: **routing, authentication, and which credentials get injected or stripped**. Request and response schemas belong to the upstreams — their own documentation defines those. ## How to read it Most routes are **transparent proxies**: * Build the **upstream's own** request — path, query, body — then add your bearer token and leave the upstream's key out. * A `200` and its body are whatever the upstream returned, verbatim. Examples shown here are representative; exact field definitions live in the provider's docs. Three kinds of routes deviate from that pattern. [Browserless](/browserless), [Steel](/steel), [Mistral](/mistral) and [LlamaParse](/llamaparse) are **policed**, narrowly: closed allow-sets of query parameters and body fields run before a request reaches their fixed actions, everything else rejected with a `400` — no model catalog behind any of them. Mistral and LlamaParse add one wrinkle the other two don't have: their cost scales per page rather than per call, so the price of a request is checked against your balance before the upstream call, and a job that doesn't fit gets a `402` instead of being forwarded. LlamaParse goes one step further, being asynchronous: a parse is a job you poll, jobs belong to the account that created them, and the create-time price is a reservation that settles to the upstream's own exact reported usage once that usage is reported — standing as the charge itself while the exact figure is outstanding, or if it never arrives. The four model-inference routes — [OpenAI](/openai), [Anthropic](/anthropic), [Grok](/grok), [Hugging Face](/huggingface) — are policed more heavily: a model allowlist and a request-field policy run before anything reaches the upstream, though the response body is still relayed as-is once a request clears them. [`/inference`](/inference) goes further and **normalizes**: it fronts those same four providers behind one OpenAI-shaped request and response contract, rewriting `model` and translating Anthropic's native shape rather than relaying it untouched. ## Authentication All endpoints expect `Authorization: Bearer `; an unknown token answers `401`. Details: [Authentication](/authentication). ```bash curl -X POST "https://api.nativeport.ai/serper" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"q": "apple inc"}' ``` ## Base URL ``` https://api.nativeport.ai ``` Local development runs against `http://localhost:8787`. ## Common responses | Status | Meaning | | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `401` | The bearer token is missing, unknown, or revoked. JSON body: `{ "error": "Unauthorized." }`. | | `402` | The credit balance is empty. Requests keep answering `402` until credits are added — never a silently degraded response. On the routes that price a request before running it ([Mistral](/mistral), [LlamaParse](/llamaparse), [`/inference`](/inference), and the native LLM routes [OpenAI](/openai), [Anthropic](/anthropic), [Grok](/grok), and [Hugging Face](/huggingface)), a `402` can also mean that one request's own cost exceeds the remaining balance; the message says which. | | `404` | No route matched, or the matched route doesn't accept that method (an unlisted `/serper/`, for example). | | other | The upstream's own status, passed through untouched. | > **Note** > > The API Explorer fires real requests: authenticate with a live bearer token, and expect calls to credit-spending upstreams to count against the account's usage.