All skills
Skillintermediate

SearchAPI.io (Google Search)

Get started by creating a free API key via https://www.searchapi.io/.

Claude Code Knowledge Pack7/10/2026

Overview

SearchAPI.io (Google Search)

Get started by creating a free API key via https://www.searchapi.io/.

SearchAPI.io provides access to Google Search results with a simple API. It supports all Google Search parameters including location, language, time filters, and more.

For complete documentation on all supported parameters, visit https://www.searchapi.io/docs/google.

LiteLLM Python SDK


from litellm import search

os.environ["SEARCHAPI_API_KEY"] = "your-api-key"

response = search(
    query="latest AI developments",
    search_provider="searchapi",
    max_results=10
)

# Access search results
for result in response.results:
    print(f"{result.title}: {result.url}")
    print(f"Snippet: {result.snippet}\
")

Advanced Usage with SearchAPI.io Parameters

SearchAPI.io supports many Google Search-specific parameters:


from litellm import search

os.environ["SEARCHAPI_API_KEY"] = "your-api-key"

response = search(
    query="machine learning research",
    search_provider="searchapi",
    max_results=10,
    # Unified parameters
    country="US",
    search_domain_filter=["arxiv.org", "nature.com"],
    # SearchAPI.io specific parameters
    gl="us",              # Country code
    hl="en",              # Interface language
    time_period="last_month",  # Time filter
    safe="active",        # SafeSearch
    device="desktop",     # Device type
    location="New York"   # Geographic location
)

LiteLLM AI Gateway

1. Setup config.yaml

model_list:
  - model_name: gpt-4
    litellm_params:
      model: gpt-4
      api_key: os.environ/OPENAI_API_KEY

search_tools:
  - search_tool_name: google-search
    litellm_params:
      search_provider: searchapi
      api_key: os.environ/SEARCHAPI_API_KEY

2. Start the proxy

litellm --config /path/to/config.yaml

# RUNNING on http://0.0.0.0:4000

3. Test the search endpoint

curl http://0.0.0.0:4000/v1/search/google-search \\
  -H "Authorization: Bearer sk-1234" \\
  -H "Content-Type: application/json" \\
  -d '{
    "query": "latest AI developments",
    "max_results": 10,
    "country": "US"
  }'

SearchAPI.io Specific Parameters

SearchAPI.io supports many Google Search parameters. Here are some commonly used ones:

ParameterTypeDescription
glstringCountry code (e.g., 'us', 'uk', 'de')
hlstringInterface language (e.g., 'en', 'es', 'fr')
locationstringGeographic location (e.g., 'New York', 'London')
devicestringDevice type: 'desktop', 'mobile', 'tablet'
time_periodstringTime filter: 'last_hour', 'last_day', 'last_week', 'last_month', 'last_year'
time_period_minstringStart date (MM/DD/YYYY)
time_period_maxstringEnd date (MM/DD/YYYY)
safestringSafeSearch: 'active' or 'off'
lrstringLanguage restriction (e.g., 'lang_en', 'lang_es')
crstringCountry restriction
pageintegerPage number for pagination

Example with Time Filters

response = search(
    query="AI breakthroughs",
    search_provider="searchapi",
    max_results=10,
    time_period="last_month"
)

Example with Custom Date Range

response = search(
    query="AI research papers",
    search_provider="searchapi",
    max_results=10,
    time_period_min="01/01/2024",
    time_period_max="03/01/2024"
)

Example with Location

response = search(
    query="AI conferences",
    search_provider="searchapi",
    max_results=10,
    location="San Francisco",
    gl="us"
)

Response Format

SearchAPI.io returns results in the standard LiteLLM search format:

{
  "object": "search",
  "results": [
    {
      "title": "Latest AI Developments",
      "url": "https://example.com/ai-news",
      "snippet": "Recent breakthroughs in artificial intelligence...",
      "date": "2024-01-15"
    }
  ]
}

Rate Limits

SearchAPI.io has different rate limits based on your plan:

  • Free tier: 100 requests/month
  • Paid plans: Higher limits available

Check your current usage at https://www.searchapi.io/dashboard.

Error Handling

from litellm import search

os.environ["SEARCHAPI_API_KEY"] = "your-api-key"

try:
    response = search(
        query="test query",
        search_provider="searchapi",
        max_results=10
    )
    print(f"Found {len(response.results)} results")
except Exception as e:
    print(f"Search failed: {str(e)}")

Additional Resources