Search1API
Guides

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.

Let Search1API choose sources by default

If you omit search_service, Search1API runs several engines concurrently and fuses their rankings into one result list. Keep this default when you want broad 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

SourceUseful for
googleGeneral web
bingGeneral web
duckduckgoGeneral web
yahooGeneral web
xPosts and reactions on X
redditDiscussions and experience reports
githubCode, repositories, and issues
youtubeVideo
arxivPreprints and academic papers
wikipediaEncyclopedic background
imdbFilm and television
wechatWeChat public-account articles
bilibiliChinese-language video
baiduChinese-language general web
sogouChinese-language general web
quarkChinese-language general web
360Chinese-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.

/trending supports github and hackernews, and requires search_service.

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 404 No results found. Remove constraints one at a time before treating it as an outage.

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.

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.

For the complete request schema, image results, batch bodies, and response fields, see the Search API reference.

On this page