# Search API (/en/docs/api/native/search)



## Base URL [#base-url]

<ApiBaseDomain prefix="/search/v1" />

## Get started [#get-started]

<QuickstartTabs snippets="{&#x22;curl&#x22;:&#x22;curl https://api-origin.invalid/search/v1/search \\\n  -H \&#x22;Authorization: Bearer $PRAXIS_API_KEY\&#x22; \\\n  -H \&#x22;Content-Type: application/json\&#x22; \\\n  -d '{\&#x22;query\&#x22;:\&#x22;Who is Leo Messi?\&#x22;}'&#x22;,&#x22;python&#x22;:&#x22;import os\n\nfrom tavily import TavilyClient\n\ntavily_client = TavilyClient(\n    api_key=os.environ[\&#x22;PRAXIS_API_KEY\&#x22;],\n    api_base_url=\&#x22;https://api-origin.invalid/search/v1\&#x22;,\n)\n\nresponse = tavily_client.search(\&#x22;Who is Leo Messi?\&#x22;)\nprint(response)&#x22;,&#x22;typescript&#x22;:&#x22;import { tavily } from \&#x22;@tavily/core\&#x22;;\n\nconst tvly = tavily({\n  apiKey: process.env.PRAXIS_API_KEY,\n  apiBaseURL: \&#x22;https://api-origin.invalid/search/v1\&#x22;,\n});\n\nconst response = await tvly.search(\&#x22;Who is Leo Messi?\&#x22;);\nconsole.log(response);&#x22;}" />

## Endpoints [#endpoints]

| Method | Path                                             | Description | Support     |
| ------ | ------------------------------------------------ | ----------- | ----------- |
| POST   | [`/v1/search`](/docs/api/native/search/search)   | Search      | ● Supported |
| POST   | [`/v1/extract`](/docs/api/native/search/extract) | Extract     | ● Supported |
| POST   | [`/v1/crawl`](/docs/api/native/search/crawl)     | Crawl       | ● Supported |
| POST   | [`/v1/map`](/docs/api/native/search/map)         | Map         | ● Supported |

## Differences from Tavily [#differences-from-tavily]

* <a href="/docs/api/native/search/crawl">Crawl</a>：Your account balance must be above 0 before the call. Billed by the credits the call actually consumed, $0.01 per credit; when the upstream reports no usage, the call is billed at the most it could have consumed.
* <a href="/docs/api/native/search/map">Map</a>：Your account balance must be above 0 before the call. Billed by the credits the call actually consumed, $0.01 per credit; when the upstream reports no usage, the call is billed at the most it could have consumed.

For authoritative parameter definitions, see the [official Tavily documentation](https://docs.tavily.com/documentation/api-reference).

Errors follow the Tavily format, see [errors](/docs/api/errors); quotas and response headers are covered in [rate limits](/docs/api/rate-limits).
