/ Atlassian RovoTrial Chat with us
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.

FieldTypeDescription
queryrequiredstringThe search query.
search_depthstringRecommended: 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_resultsintegerDefault: 10
countrystringDefault: US  This field sets the geo target, for example US or GB.
localestringDefault: en  This field sets the language.
include_domainsstring[]Nimble returns results only from these domains (up to 50).
exclude_domainsstring[]Nimble never returns results from these domains (up to 50). Your security team can keep its blocked sites here.
time_rangestringThis 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.