> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nativeport.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nativeport.ai/_mcp/server.

# Quickstart

Grab your **[API key](https://accounts.nativeport.ai/sign-up)** first. Every request authenticates with it as a bearer token against `https://api.nativeport.ai`, and each provider is addressed through its own native API.

#### Get your key

Create an account at [accounts.nativeport.ai/sign-up](https://accounts.nativeport.ai/sign-up); the dashboard mints a **Default** key automatically — copy it from there.

## Your first request

The example below runs a Google search via [Serper](/serper). Swap `YOUR_API_KEY` for your key:

#### Python

```python
import requests

response = requests.post(
    "https://api.nativeport.ai/serper",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"q": "apple inc"},
)
print(response.json())
```

#### TypeScript

```typescript
const response = await fetch("https://api.nativeport.ai/serper", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ q: "apple inc" }),
});

console.log(await response.json());
```

#### cURL

```bash
curl -X POST "https://api.nativeport.ai/serper" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "apple inc"}'
```

What comes back is Serper's own JSON — including the `organic` results array — byte-for-byte as the provider produced it.

Prefer an environment variable to a hardcoded key. A `401` means the token was absent or not recognized — [Authentication](/authentication) has the details.

## Every other provider works the same way

Same base URL, same bearer header; only the path and payload change. One representative call for each:

| Tool                        | Example call                                                              |
| --------------------------- | ------------------------------------------------------------------------- |
| [Apify](/apify)             | `POST /apify/v2/acts/{actorId}/run-sync-get-dataset-items` — run an actor |
| [Brave Search](/brave)      | `GET /brave/web/search?q=coffee` — Brave web results                      |
| [Bright Data](/brightdata)  | `POST /brightdata` — Web Unlocker / SERP request                          |
| [Browserbase](/browserbase) | `POST /browserbase/v1/sessions` — create a browser session                |
| [Crawlbase](/crawlbase)     | `GET /crawlbase?url=https://example.com` — crawl a page                   |
| [DataForSEO](/dataforseo)   | `POST /dataforseo/v3/serp/google/organic/live/advanced` — live SERP       |
| [ElevenLabs](/elevenlabs)   | `POST /elevenlabs/v1/text-to-speech/{voice_id}` — text to speech          |
| [Exa](/exa)                 | `POST /exa/search` — neural search                                        |
| [Firecrawl](/firecrawl)     | `POST /firecrawl/v2/scrape` — scrape a URL to markdown                    |
| [Jina](/jina)               | `GET /jina/reader/https://example.com` — read a URL as markdown           |
| [Linkup](/linkup)           | `POST /linkup/search` — AI search                                         |
| [Oxylabs](/oxylabs)         | `POST /oxylabs` — Web Scraper API (realtime)                              |
| [Parallel](/parallel)       | `POST /parallel/search` — AI search                                       |
| [ScraperAPI](/scraperapi)   | `GET /scraperapi?url=https://example.com` — scrape a page                 |
| [Scrapfly](/scrapfly)       | `GET /scrapfly?url=https://example.com` — scrape a page                   |
| [ScrapingBee](/scrapingbee) | `GET /scrapingbee?url=https://example.com` — scrape a page                |
| [SearchAPI.io](/searchapi)  | `GET /searchapi?engine=google&q=coffee` — search results                  |
| [SerpApi](/serpapi)         | `GET /serpapi?engine=google&q=coffee` — search results                    |
| [Serper](/serper)           | `POST /serper` — Google search, images, news, and more                    |
| [Spider](/spider)           | `POST /spider/scrape` — scrape a URL                                      |
| [Tavily](/tavily)           | `POST /tavily/search` — AI web search                                     |
| [You.com](/youcom)          | `GET /youcom/search?query=coffee` — search results                        |
| [ZenRows](/zenrows)         | `GET /zenrows?url=https://example.com` — scrape a page                    |
| [Zyte](/zyte)               | `POST /zyte` — scrape / extract                                           |

Full endpoint lists and parameters live on each provider's page.