Improving search results
Choose sources, retrieve full page text, and narrow Search1API results by site, time, and language.
Begin with the default search behavior, then add constraints only when the results show that you need them.
Start with the default source
If you omit search_service, Search1API searches Google, the same as sending "search_service": "google". Keep this default when you want general web coverage.
Set search_service when the source itself is part of the request:
{ "query": "rust async runtime", "search_service": "reddit" }For example, Reddit is useful for experience reports, GitHub for code and issues, arXiv for papers, and YouTube for video.
Available web search sources
| Source | Useful for |
|---|---|
google | General web |
bing | General web |
bingcn | Chinese-language Bing |
duckduckgo | General web |
yahoo | General web |
yandex | General web, especially Russian and CIS |
x | Posts and reactions on X |
reddit | Discussions and experience reports |
github | Repositories, issues, pull requests, and discussions |
youtube | Video |
arxiv | Preprints and academic papers |
wikipedia | Encyclopedic background |
grokipedia | English-language encyclopedic background from Grokipedia (Powered by xAI) |
imdb | Google-indexed IMDb pages about films, people and credits |
wechat | WeChat public-account articles |
bilibili | Chinese-language video |
baidu | Chinese-language general web |
quark | Chinese-language general web |
360 | Chinese-language general web |
/news uses a separate source set: google, bing, duckduckgo, yahoo, hackernews, and reuters. Omitting search_service also enables the default multi-source behavior for news.
Community sources add optional structured fields in each result's metadata. Common fields (title, link, snippet, optional content and published_date) remain at the result top level. metadata is omitted when no engine-specific fields apply:
githubresults carrymetadata.kind(repo,issue,prordiscussion). Repositories addmetadata.starsandmetadata.language; issues, pull requests and discussions addmetadata.num_comments, and theirsnippetstarts withowner/repo · issue · open · N comments. A query like "tanstack start hydration error" returns the matching issues and discussions, not only repositories; append a GitHub qualifier such asis:issueorstars:>1000to search one type only. Withtime_range, results are limited to repositories and threads created in the window.hackernewsresults (/news) link to the Hacker News thread, with the submitted article inmetadata.story_url(omitted for text posts without an article URL) and the vote and comment counts inmetadata.pointsandmetadata.num_comments. Multi-word queries match stories containing any of the words, best matches first.redditresults are ordered so that posts whose title or subreddit mentions the query terms come first.
/trending supports github and hackernews, and requires search_service.
grokipedia searches Grokipedia, xAI's encyclopedia.
Entries are in English, so write the query in English; language and
time_range are ignored. Results link to the entry page and carry its opening
text as snippet. Grokipedia content is provided by xAI under the
xAI Community License;
products that show it should display "Powered by xAI".
imdb searches IMDb-domain pages through Google's index. It returns webpage
titles, links and snippets, not structured IMDb catalogue metadata. Keep the
film/person and the information you need in query; there is no need to reduce
it to a title alone. Index coverage is not exhaustive, and results do not
guarantee reusable image rights, external interviews or archive downloads.
Read the results, not just the snippets
Search results include a short snippet. When a model needs the source text, set crawl_results to crawl the top results and populate their content fields:
curl -X POST https://api.search1api.com/search \
-H "Authorization: Bearer $SEARCH1API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "postgres connection pooling best practices",
"max_results": 10,
"crawl_results": 3
}'This returns up to ten ranked results and attempts to add full text to the top three. crawl_results must be no greater than max_results.
A search costs 1 credit, plus 1 credit for each page crawled successfully. See Credits and limits.
Narrow by site
Use include_sites to search only selected domains and exclude_sites to remove unwanted ones:
{
"query": "vector database benchmarks",
"include_sites": ["github.com", "news.ycombinator.com"],
"exclude_sites": ["pinterest.com"]
}A narrow include_sites list combined with a specific query can produce an empty results array — a completed, charged search that simply found no matches. Remove constraints one at a time to widen the match pool.
Narrow by time or language
time_range accepts day, week, month, or year. Use it when freshness matters instead of adding words such as “latest” to the query.
Each result carries published_date when the source exposes one, so a model can check how fresh a result is or pick between conflicting sources. The value is ISO 8601: YYYY-MM-DD when only the day is known (typical for web search engines, arxiv, and youtube videos older than a day), or a UTC timestamp such as 2026-09-03T10:00:00Z when the source carries a time (x, reddit, github, bilibili, wechat, yandex with time_range, and /news feeds). Treat the field as optional: duckduckgo, wikipedia, grokipedia, and most Chinese web engines return no date; yandex also omits it unless time_range is set; and other web engines only show one for a subset of pages.
language accepts a language code such as en, zh-CN, or fr. Search1API does not expose a separate country or region parameter.
Control result count
max_results defaults to 5 and accepts values from 1 to 50. The gateway clamps numeric values above 50 to 50.
Paginate native SERP results
page is native search-engine pagination, not an offset into a fused result list. It is honoured only for bing, bingcn, baidu, and grokipedia. Other engines, including yandex, ignore it.
{
"query": "vector database",
"search_service": "bing",
"page": 2
}For the complete request schema, image results, batch bodies, and response fields, see the Search API reference.