sources explicitly when you need predictable parsing. For result shapes,
request parameters, and error handling, see Reference.
Every request goes to the same endpoint:
1 credit per query.rate-limit is 10 requests per minute. Send an email to
gtm@crustdata.co to discuss higher limits if
needed for your use case.Sources
Examples
Reference
Ask the assistant
Your first search
The simplest search uses aquery with an explicit sources array. Always
specify sources for predictable result parsing.
results[] contains source, title, url,
snippet, and position. Use position for ranking and url for
follow-up fetching.
Use human mode when standard retrieval is blocked
Sethuman_mode: true when you want the API to attempt a browser-like
retrieval path for the search request.
human_mode: true returns the normal search
response shape with success, query, timestamp, results, and
metadata.Examples
Ready-to-copy patterns for Web Search. Each example shows a real request, the response, and what to extract. For the core walkthrough (your first search, human mode), see the sections above. For result shapes, request parameters, and error handling, see Reference.Filtering and pagination
Restrict results to a specific site
Restrict results to a specific site
site parameter to limit results to a single domain. Useful for
finding company pages on professional networks, profiles on GitHub, or content on a
specific website.Search with date filtering
Search with date filtering
start_date and end_date (Unix timestamps in seconds) to limit
results to a specific time range.Multi-page search
Multi-page search
page to request multiple result pages in a single response. The
metadata object tells you which pages succeeded.results[] array. Check metadata to understand page-level outcomes:metadata.total_results— total results available across all sources and pages.metadata.failed_pages— page numbers that returned errors. Retry the request with a smallerpagevalue if needed.metadata.empty_pages— page numbers that returned no results. You have reached the end of available results — do not retry.
metadata.empty_pages contains
page numbers, you have reached the end of available results.Company and profile discovery
Find a company's website domain
Find a company's website domain
results[0].url → https://www.adamsbrowncpa.com/Bridge to Company API: Extract the domain from the URL, then pass it to
Company Enrich for the full company profile:Find a person's profile URL
Find a person's profile URL
site parameter with the profile host (e.g. linkedin.com/in) to
find a person’s profile, then enrich via the Person API.Find a developer profile
Find a developer profile
site: "github.com" to search for developer profiles on GitHub.Research and analysis
Search for academic research on a topic
Search for academic research on a topic
citations— citation count to gauge impact.pdf_url— direct PDF download link (when available).authors[].profile_url— Author profile link.metadata— citation string:"Author - Year - Publisher".
Look up an academic researcher's profile
Look up an academic researcher's profile
citations.all for total impact, h_index.all for research
quality, articles[] for top publications.Get an AI-generated overview of a topic
Get an AI-generated overview of a topic
content for the overview text, references[].url for source
verification.Search news with date filtering
Search news with date filtering
start_date and
end_date as Unix timestamps in seconds.Mixed-source search with safe parsing
Mixed-source search with safe parsing
results[] array contains items with
different shapes. Always branch on result.source.references[].url for source URLs instead of a top-level url.Search-then-fetch workflows
End-to-end competitive intelligence
End-to-end competitive intelligence
Search for competitor news
results[].url.Select URLs and fetch content
Parse results and handle failures
success for each entry. Parse HTML from successful fetches. To
identify which URLs failed, compare requested URLs against successful
url values.url: null, so correlate failures by comparing
successful URLs to your input list. See
Fetch: correlating failures.Full pipeline in Python: search → fetch → parse
Full pipeline in Python: search → fetch → parse
AI overview → fetch source references
AI overview → fetch source references
content is inline. To get the
full source articles, fetch the URLs from references[].Search with deep research mode
results[0].references[].url — the source article URLs.Fetch the reference URLs
content from successful entries to read the full source
articles.url field. Always use
references[].url for fetch targets.Migrating from fetch_content to the two-step search → fetch flow
Migrating from fetch_content to the two-step search → fetch flow
?fetch_content=true to a web search to get
page HTML inline in a contents[] array. That parameter is removed in
2025-11-01 — it is silently ignored, and the search response never returns
a contents[] field. Instead, run web search first, then pass the result URLs
to Web Fetch (POST /web/enrich/live).Search the web
results[].url.Fetch the result URLs
POST /web/enrich/live. Each entry comes back with
success, url, timestamp, title, and the full page content.fetch_content flag is gone; fetching is
now a separate, independently-billed call to /web/enrich/live. This lets
you fetch only the URLs you actually need (and respect the 10-URL-per-call
fetch limit) rather than fetching every search result. Search timestamp
is in milliseconds; Fetch timestamp is in seconds.
