Getting Started
What is AI Search?
AI Search is a single Novita gateway that gives your application live access to search the web. You call Novita with one API key and choose a search provider per request, instead of signing up with each provider separately. See the Quickstart for the full picture.Which providers are supported?
Currently Exa and Tavily. Each is exposed as a passthrough endpoint that mirrors the provider’s own request and response format. See the Quickstart for the endpoint list.Do I need a separate Exa or Tavily account?
No. Your Novita API key authenticates every AI Search request. You don’t manage upstream provider keys or accounts.Authentication & Setup
How do I authenticate?
Use your Novita API key as a bearer token:Authorization: Bearer <api_key>. The same key works for every provider. To create or manage keys, see API Key Management.
Is there a Novita SDK for AI Search?
No — and you don’t need one. AI Search is an integration, not a wrapped product: each endpoint is a passthrough that forwards your request to the provider (Exa or Tavily) in that provider’s native format. That means you have two solid options:- Use the provider’s own SDK. If the SDK lets you set a custom base URL, point it at the matching gateway route and pass your Novita key. For example, the Exa Python SDK accepts
base_url="https://api.novita.ai/v3/exa". See the Quickstart for a full example. - Call the REST endpoints directly. Works with any HTTP client and needs no SDK at all. The Quickstart shows curl, Python, and JavaScript examples.
Can I switch providers without changing my code structure?
Mostly. Authentication, host, and the request flow stay identical — you change the route (e.g./v3/tavily/search → /v3/exa/search) and align the body to that provider’s field names (for example, Tavily’s max_results vs Exa’s numResults).
Search Behavior
How fresh are the results?
Results reflect live web content. For time-sensitive questions, constrain by date to keep stale pages out: Tavily exposestime_range and start_date/end_date; Exa exposes startPublishedDate/endPublishedDate.
How do I restrict results to trusted sites?
Use domain filters —include_domains/exclude_domains on Tavily, includeDomains/excludeDomains on Exa — to keep retrieval within sources you trust.
What’s the difference between search, extract, and crawl?
- Search discovers relevant pages from a query.
- Extract / Contents pulls clean text from URLs you already have.
- Crawl / Map follows links to gather or list many pages from a site.
Can AI Search generate an answer, not just links?
Yes. Tavily Search returns an LLM answer when you setinclude_answer, and Exa offers a dedicated Answer endpoint. For full control over wording and citations, retrieve results and synthesize with the LLM API instead — see Web-Grounded Answers.
Limits & Troubleshooting
What are the rate limits?
AI Search requests are subject to both Novita platform limits and each upstream provider’s own limits, which depend on the provider tier tied to your account. When you exceed a limit, the API returns429 Too Many Requests — back off and retry with exponential delay. Tavily endpoints may also return 432 (key/plan limit) or 433 (pay-as-you-go limit). These limits are separate from the LLM API rate limits; a search call doesn’t draw down your LLM quota.
Why am I getting a 400 error?
A parameter likely doesn’t match the provider’s schema. Confirm you’re using that provider’s field names — a common cause is sending Tavily’smax_results to an Exa route (which expects numResults).
Why am I getting a 401 error?
The key is missing or malformed. The header must be exactlyAuthorization: Bearer <api_key>, using a valid Novita key.