OrbitSearch developer guide
One authenticated endpoint for web, downloadable images, and local results. Compatible with the core SerpAPI request and response shape.
1. Create a free key
curl -X POST https://search.rviv.in/api/v1/keys \
-H "Content-Type: application/json" \
-d '{"name":"My application"}'The secret is returned once. Store it in an environment variable and never commit it to source control.
2. Search with Node.js
import { OrbitSearch } from "https://search.rviv.in/sdk/orbitsearch.mjs";
const orbit = new OrbitSearch(process.env.ORBITSEARCH_API_KEY);
const result = await orbit.search("best Tamil podcasts", { gl: "in", num: 10 });
console.log(result.organic_results);3. Search with Python
from orbitsearch import OrbitSearch
import os
orbit = OrbitSearch(os.environ["ORBITSEARCH_API_KEY"])
result = orbit.images("golden retriever", num=5)
for image in result["images_results"]:
data, content_type = orbit.download(image["download_url"])Async agent workflow
const result = await orbit.searchAsync("latest AI policy news", {
tbs: "qdr:w",
safe: "active"
});The client polls the private 31-day archive automatically. Only successful completion consumes quota. Cached responses are free.
Errors and retries
HTTP 400 means invalid parameters, 401 means an invalid key, 429 means a rate or monthly quota limit, and retryable 5xx errors represent temporary upstream problems. Read the standard RateLimit headers before retrying.