Google Search API

The Google Search API lets you perform web searches and receive structured results. It supports multiple search types, geo-targeting, device emulation, and two result depth modes.

Endpoint

Bash
POST https://api.scavio.dev
/api/v1/google

Headers

HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Content-Typeapplication/jsonYes

Request Body

ParameterTypeDefaultDescription
querystring--Required. The search query (1-500 chars).
search_typestringclassicOne of: classic, news, maps, images, lens
country_codestring--ISO 3166-1 alpha-2 country code (e.g. us, gb, de). See full list.
languagestring--ISO 639-1 language code (e.g. en, fr, es)
pagenumber1Result page number (1-indexed)
devicestringdesktopdesktop or mobile. News search only supports desktop.
nfprbooleanfalseSet to true to disable autocorrection of the query
light_requestbooleanomitted (light)Omit for light mode (1 credit). Set to false for full results (2 credits) including knowledge graph, related searches, and more.

Credit Cost

ScenarioCredits
light_request omitted or not sent1
"light_request": false2

Minimal Example

curl -X POST 'https://api.scavio.dev
/api/v1/google' \
  -H 'Authorization: Bearer sk_live_your_key' \
  -H 'Content-Type: application/json' \
  -d '{"query": "Scavio search API"}'

Full Example (with all parameters)

curl -X POST 'https://api.scavio.dev
/api/v1/google' \
  -H 'Authorization: Bearer sk_live_your_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "AI startups funding",
    "search_type": "news",
    "country_code": "us",
    "language": "en",
    "page": 1,
    "device": "desktop",
    "nfpr": false,
    "light_request": false
  }'

Constraints

  • When search_type is news, only desktop is allowed as the device. Sending mobile will return a 400 error.
  • Invalid search_type values (e.g. shopping, ai_mode) will return a 400 validation error.
  • device only accepts desktop or mobile. tablet is not supported.

Response Format

All successful responses return a JSON object. Some fields are always present, while others only appear when non-empty (typically in full mode).

Core Fields (always present)

FieldTypeDescription
resultsarrayArray of organic search result objects
results[].titlestringTitle of the search result page
results[].urlstringFull URL of the result
results[].descriptionstringSnippet or meta description from the page
results[].positionnumber1-indexed position in the results
querystringThe query that was executed
pagenumberThe page number returned
country_codestringCountry code used for the search
languagestringLanguage code used for the search
response_timenumberServer-side response time in seconds
credits_usednumberNumber of credits consumed (1 or 2)
credits_remainingnumberCredits remaining in your current billing period

Optional Fields (present when non-empty)

These are typically returned in full mode ("light_request": false) but may also appear in light mode when data is available.

FieldTypeDescription
top_storiesarrayTop stories carousel items
news_resultsarrayNews articles with title, url, source, snippet, date, domain
knowledge_graphobjectKnowledge panel with title, subtitle, and factoids array
questionsarray"People also ask" with question and answer
related_searchesarrayRelated queries, each with a query field
total_resultsnumberEstimated total results for the query
search_urlstringThe original search engine URL for this query

Light Mode Response Example

JSON
{
  "results": [
    {
      "title": "Scavio - Search API for Developers",
      "url": "https://scavio.dev",
      "description": "One API to search every platform. Structured JSON results.",
      "position": 1
    }
  ],
  "query": "Scavio search API",
  "page": 1,
  "country_code": "",
  "language": "",
  "response_time": 0.45,
  "credits_used": 1,
  "credits_remaining": 999
}

Full Mode Response Example

JSON
{
  "results": [
    {
      "title": "Scavio - Search API for Developers",
      "url": "https://scavio.dev",
      "description": "One API to search every platform. Structured JSON results.",
      "position": 1
    }
  ],
  "query": "Scavio search API",
  "page": 1,
  "country_code": "us",
  "language": "en",
  "response_time": 0.62,
  "total_results": 1250000,
  "search_url": "https://www.google.com/search?q=...",
  "knowledge_graph": {
    "title": "Scavio",
    "subtitle": "Search API Platform",
    "factoids": [
      { "title": "Type", "content": "Developer API" }
    ]
  },
  "related_searches": [
    { "query": "scavio api pricing" },
    { "query": "scavio search api docs" }
  ],
  "questions": [
    {
      "question": "What is Scavio?",
      "answer": "Scavio is a multi-platform search API..."
    }
  ],
  "credits_used": 2,
  "credits_remaining": 998
}

News Results Example

When search_type is news, the news_results field is populated:

JSON
{
  "news_results": [
    {
      "title": "AI Startups Raise Record Funding in Q1 2026",
      "url": "https://example.com/ai-funding",
      "source": "TechCrunch",
      "snippet": "AI companies raised over $15B in Q1 2026...",
      "date": "2 hours ago",
      "domain": "techcrunch.com"
    }
  ]
}

Notes

  • The results array is ordered by relevance (position 1 is most relevant)
  • Optional fields are only present when non-empty -- always check for their existence before accessing
  • Light mode (1 credit) returns core results. Full mode (2 credits) may include all optional fields.

Related