Google Search API
curl --request GET \
--url https://api.crawleo.dev/google-search \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.crawleo.dev/google-search"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.crawleo.dev/google-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"parameters": {},
"google_search_results": [
{
"title": "<string>",
"link": "<string>",
"snippet": "<string>",
"position": 123
}
],
"knowledgeGraph": {
"title": "<string>",
"type": "<string>",
"description": "<string>",
"attributes": {}
},
"peopleAlsoAsk": [
{}
],
"relatedSearches": [
{}
],
"answerBox": {}
}Search APIs
Google Search API
Real-time Google search results with structured SERP data including organic results, knowledge graphs, People Also Ask, news, images, shopping, and more. Ideal for SEO monitoring, lead generation, and competitor research.
GET
https://api.crawleo.dev
/
google-search
Google Search API
curl --request GET \
--url https://api.crawleo.dev/google-search \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.crawleo.dev/google-search"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.crawleo.dev/google-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"parameters": {},
"google_search_results": [
{
"title": "<string>",
"link": "<string>",
"snippet": "<string>",
"position": 123
}
],
"knowledgeGraph": {
"title": "<string>",
"type": "<string>",
"description": "<string>",
"attributes": {}
},
"peopleAlsoAsk": [
{}
],
"relatedSearches": [
{}
],
"answerBox": {}
}Overview
The Google Search API delivers real-time Google search results powered by Serper. Get structured SERP data including organic results, knowledge graphs, People Also Ask, news, images, shopping, and more.Which Search API should I use? Use the Bing Search API for LLM and RAG pipelines (with auto-crawling and content extraction). Use the Google Search API for SEO monitoring, lead generation, competitor research, and structured SERP analysis.
Endpoint
GET https://api.crawleo.dev/google-search
Parameters
Required Headers
string
required
Your Crawleo API key for authentication. (Alternatively, use the
Authorization: Bearer YOUR_API_KEY header.)Example: x-api-key: YOUR_API_KEY or Authorization: Bearer YOUR_API_KEYRequired Parameters
string
required
The search query.
Optional Parameters
string
default:"us"
Country for search results. ISO 3166-1 alpha-2 code (e.g.
us, gb, eg, de, fr).string
default:"en"
Language for results. IETF language tag (e.g.
en, ar, fr, de).string
Time-based filter for results freshness.
| Value | Meaning |
|---|---|
qdr:h | Past hour |
qdr:d | Past day |
qdr:w | Past week |
qdr:m | Past month |
qdr:y | Past year |
integer
default:"1"
Page number of results (1-indexed).
integer
default:"10"
Number of results per page (1–100).
string
default:"search"
Search type. Controls which vertical of Google results to query.
| Value | Description |
|---|---|
search | Standard web search |
news | Google News results |
images | Google Images |
places | Google Maps / local business results |
shopping | Google Shopping product listings |
Example Requests
Basic Search
curl -G "https://api.crawleo.dev/google-search" \
-H "x-api-key: YOUR_API_KEY" \
--data-urlencode "q=best CRM software" \
-d "gl=us" \
-d "hl=en" \
-d "num=10"
import requests
response = requests.get(
"https://api.crawleo.dev/google-search",
headers={"x-api-key": "YOUR_API_KEY"},
params={
"q": "best CRM software",
"gl": "us",
"hl": "en",
"num": 10
}
)
data = response.json()
results = data["google_search_results"]
for r in results:
print(r["title"], r["link"])
const response = await fetch(
"https://api.crawleo.dev/google-search?" + new URLSearchParams({
q: "best CRM software",
gl: "us",
hl: "en",
num: "10",
}),
{
headers: { "x-api-key": "YOUR_API_KEY" },
}
);
const data = await response.json();
console.log(data["google_search_results"]);
News Search
curl -G "https://api.crawleo.dev/google-search" \
-H "x-api-key: YOUR_API_KEY" \
--data-urlencode "q=artificial intelligence" \
-d "type=news" \
-d "tbs=qdr:d" \
-d "num=10"
import requests
response = requests.get(
"https://api.crawleo.dev/google-search",
headers={"x-api-key": "YOUR_API_KEY"},
params={
"q": "artificial intelligence",
"type": "news",
"tbs": "qdr:d",
"num": 10
}
)
data = response.json()
const response = await fetch(
"https://api.crawleo.dev/google-search?" + new URLSearchParams({
q: "artificial intelligence",
type: "news",
tbs: "qdr:d",
num: "10",
}),
{
headers: { "x-api-key": "YOUR_API_KEY" },
}
);
const data = await response.json();
Local Business Search
curl -G "https://api.crawleo.dev/google-search" \
-H "x-api-key: YOUR_API_KEY" \
--data-urlencode "q=coffee shops" \
-d "type=places" \
-d "gl=gb"
import requests
response = requests.get(
"https://api.crawleo.dev/google-search",
headers={"x-api-key": "YOUR_API_KEY"},
params={
"q": "coffee shops",
"type": "places",
"gl": "gb"
}
)
data = response.json()
Shopping Search
curl -G "https://api.crawleo.dev/google-search" \
-H "x-api-key: YOUR_API_KEY" \
--data-urlencode "q=wireless headphones" \
-d "type=shopping" \
-d "num=20"
import requests
response = requests.get(
"https://api.crawleo.dev/google-search",
headers={"x-api-key": "YOUR_API_KEY"},
params={
"q": "wireless headphones",
"type": "shopping",
"num": 20
}
)
data = response.json()
Response
A successful response returns structured SERP data:{
"parameters": {
"q": "best CRM software",
"gl": "us",
"hl": "en",
"num": 10,
"page": 1
},
"google_search_results": [
{
"title": "Result Title",
"link": "https://example.com",
"snippet": "Description of the result...",
"position": 1
}
],
"knowledgeGraph": {
"title": "Entity Name",
"type": "Category",
"description": "...",
"attributes": {}
},
"peopleAlsoAsk": [
{
"question": "Related question?",
"snippet": "Answer snippet...",
"link": "https://example.com"
}
],
"relatedSearches": [
{ "query": "related query" }
],
"answerBox": {
"answer": "Direct answer text",
"snippet": "..."
}
}
object
Echo of the query parameters used for this request.
array
object
array
“People Also Ask” questions and answers (when available).
array
Related search query suggestions (when available).
object
Direct answer box content (when available).
knowledgeGraph, peopleAlsoAsk, relatedSearches, answerBox, and other enriched fields are only present when Google returns them for the query.MCP Integration
The Google Search API is available as an MCP tool namedgoogle_search. It works with your existing Crawleo MCP configuration — no extra setup needed.
Tool name: google_search
Inputs: Same parameters as the HTTP API (q, gl, hl, tbs, page, num, type)
MCP Setup
Already configured Crawleo MCP? The
google_search tool is automatically available.Error Responses
| Status Code | Description |
|---|---|
400 | Missing required parameter q |
401 | Invalid or missing API key |
402 | Insufficient credits |
429 | Rate limit exceeded |
500 | Internal server error |
Use Cases
SERP Analysis & SEO Monitoring
SERP Analysis & SEO Monitoring
Track keyword rankings, featured snippets, and People Also Ask blocks for your target queries. Compare positions over time using the
tbs time filter.Lead Generation
Lead Generation
Use
type=places to surface local businesses in a target region. Combine with gl to geo-target specific markets and extract business names, addresses, and URLs.Competitor Research
Competitor Research
Search for competitor brand names or product categories to see what SERP features they own — knowledge graphs, answer boxes, shopping results.
News Monitoring
News Monitoring
Use
type=news with tbs=qdr:d to get today’s news coverage for any topic, brand, or keyword. Ideal for PR monitoring pipelines.Price Comparison
Price Comparison
Use
type=shopping to fetch product listings, prices, and merchant names across Google Shopping results.AI Agent Grounding
AI Agent Grounding
Feed real-time search results into LLMs via MCP to ground responses with current information. The
google_search MCP tool is drop-in compatible with Claude, Cursor, and GitHub Copilot.Content Intelligence
Content Intelligence
Retrieve
peopleAlsoAsk data to discover content gaps, FAQ opportunities, and audience questions at scale.Last modified on April 21, 2026
Was this page helpful?