Nimble Search/
Rovo web search trial
Nimble Search for Rovo Chat
This guide gives the Rovo team its trial access, a first request and the setup for the comparison with Gemini.
Standard search · REST API · 10 QPS
Recommended configuration
Rovo calls the Nimble Search REST endpoint in place of the Gemini web-search call. Each request runs a Standard search and returns ranked results. Every result has a direct source URL and a long excerpt of the page. Your agent uses those excerpts to ground its answer.
We recommend these settings for the trial.
Integration
REST API· a direct swap for your Gemini call
Search depth
standarda long excerpt for each result
Results per query
max_results: 10
Region
country: US · locale: en· set them per query for other markets
Blocked sites
exclude_domains· list the sites your security team blocks
Concurrency
up to 10 in flight· retry a 429 with backoff
Your trial access
Endpoint
https://sdk.nimbleway.com/v2/search
Trial allowance
50,000 API calls· no daily cap
Rate limit
10 QPS· ask in the channel to raise it for a load test
API token
Create and copy it from Account Settings → API Keys.
Quickstart
1. Set your API token
export NIMBLE_API_KEY="your-api-key"
2. Run a Standard search
# pip install "nimble_python>=1.6"
import os
from nimble_python import Nimble
nimble = Nimble(api_key=os.environ["NIMBLE_API_KEY"])
result = nimble.search(
query="Jira Cloud REST API rate limits",
search_depth="standard",
max_results=10,
)
for item in result.results:
print(item.title, item.url)
print(item.description[:400])
curl -X POST 'https://sdk.nimbleway.com/v2/search' \
-H "Authorization: Bearer $NIMBLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"query": "Jira Cloud REST API rate limits",
"search_depth": "standard",
"max_results": 10
}'
The response looks like this (truncated).
{
"request_id": "3f2b9c1a-7d84-4e15-9c02-1a7cb930416a",
"total_results": 10,
"results": [
{
"title": "Rate limiting - Jira Cloud platform",
"url": "https://developer.atlassian.com/cloud/jira/platform/rate-limiting/",
"description": "Jira Cloud enforces three independent rate limiting systems that work simultaneously to protect platform stability ...",
"metadata": { "position": 1, "country": "US", "locale": "en" }
}
// ...9 more results
]
}
Parameters
The request body for POST /v2/search takes these fields.
| Field | Type | Description |
|---|---|---|
| queryrequired | string | The search query. |
| search_depth | string | Recommended: standard Use standard for Rovo. It returns a long excerpt for each result, so your agent can ground an answer from the search response alone. It is also the default, so you can leave the field out. |
| max_results | integer | Default: 10 |
| country | string | Default: US This field sets the geo target, for example US or GB. |
| locale | string | Default: en This field sets the language. |
| include_domains | string[] | Nimble returns results only from these domains (up to 50). |
| exclude_domains | string[] | Nimble never returns results from these domains (up to 50). Your security team can keep its blocked sites here. |
| time_range | string | This field filters by recency: hour, day, week, month or year. |
Response fields
results[].titlestringThe page title.
results[].urlstringThe source page itself, with no redirect to unwrap.
results[].descriptionstringA long excerpt of the page, ready to ground an answer.
results[].metadataobjectThe rank, country and locale of the result.
Rate limits
Your trial key allows 10 queries per second. Retry a 429 response with exponential backoff, and ask in the channel before a load test.
import time, requests
URL = "https://sdk.nimbleway.com/v2/search"
HEADERS = {"Authorization": f"Bearer {NIMBLE_API_KEY}", "Content-Type": "application/json"}
def search(payload, retries=5):
for attempt in range(retries):
r = requests.post(URL, json=payload, headers=HEADERS)
if r.status_code != 429:
r.raise_for_status()
return r.json()
time.sleep(2 ** attempt) # 1s, 2s, 4s ... backoff
r.raise_for_status()
Comparing with Gemini
- Send the same query set to Nimble and to your current Gemini path.
- Run each set 2–3 times and report p50 and p90 latency.
- Use your existing web-search eval to score quality.
- Log the query, provider, latency, number of results and quality score for each call.
- Keep concurrency at 10 or below during the trial.
Support
Point of contact
Adam Stevens leads onboarding, and field engineering supports the integration.
Security
Nimble has SOC 2 Type II, a DPA and Zero Data Retention for enterprise. Ask in the channel for the full package.
Pricing
The evaluation is free. Production terms follow your results.