Neuji

Web search

Aggregated web search results as JSON.

TEXT
GET /v1/search

Requires a valid API key, an active membership, and available API credit.

Query parameters

Name Type Required Default Description
q string yes The search query. Supports Neuji's search operators (e.g. site:, filetype:, "exact phrase", -exclude).
safe string no moderate Safe-search level: off, moderate, or strict. An unrecognized value falls back to moderate.
gl string no (auto) Two-letter region/country code for result weighting (e.g. us, gb, ca, de, jp). An unsupported code is ignored (the provider default applies).
hl string no (auto) Two-letter language code for results (e.g. en, es, fr, de, ja). An unsupported code is ignored.
time string no any Recency filter: any, hour, day, week, month, or year.
num integer no (provider default) Desired number of results. Clamped to 5–100; an out-of-range value falls back to 20. Omit to use the provider default.

Response

JSON
{
  "query": "hello world",
  "results": [
    {
      "title": "Example Domain",
      "url": "https://example.com/",
      "description": "This domain is for use in illustrative examples in documents."
    }
  ]
}
Field Type Description
query string The query that was executed.
results array The web results.
results[].title string Result title.
results[].url string Result URL.
results[].description string Result snippet / description.

Examples

cURL
curl -G "https://api.neuji.com/v1/search" \
  -H "Authorization: Bearer $NEUJI_API_KEY" \
  --data-urlencode "q=site:example.com filetype:pdf annual report" \
  --data-urlencode "gl=us" \
  --data-urlencode "num=20"
C#
using System.Net.Http;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
    new("Bearer", Environment.GetEnvironmentVariable("NEUJI_API_KEY"));
var url = "https://api.neuji.com/v1/search?q=" + Uri.EscapeDataString("hello world") + "&num=20";
var json = await http.GetStringAsync(url);
Console.WriteLine(json);
JavaScript
const params = new URLSearchParams({ q: "hello world", gl: "us", num: "20" });
const res = await fetch(`https://api.neuji.com/v1/search?${params}`, {
  headers: { Authorization: `Bearer ${process.env.NEUJI_API_KEY}` },
});
const data = await res.json();
for (const r of data.results) console.log(r.title, r.url);

Billing

Each call draws down your prepaid API credit. A deep result count (num above 10) may fan out into several upstream page fetches and is billed accordingly. Read your balance at any time via Usage.

Was this page helpful?