Google API endpoint
Google search API
Returns normalized Google web search results. Results are fetched through Rayobrowse-rendered Chrome with availability fanout and stale-cache fallback when available. The endpoint returns 502 when Google serves a challenge page or unusable HTML. Rate limit is enforced at 1 request per second, and if the limit is exceeded a 429 status code is returned with rate limit headers.
/google/searchParameters
| Name | In | Type | Required | Enum | Example | Description |
|---|---|---|---|---|---|---|
| searchOption | body | object | Yes | Search options | ||
| x-api-key | header | string | Yes | API key required |
Authentication
Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.
Billing
Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.
- Credit cost
- 3 credits/request
- Charged response
- Successful 2xx responses
| Plan | Price | Included credits | Daily cap | Rate limit | Overage |
|---|---|---|---|---|---|
| Free | $0/mo | 2,000 | 500 daily credits | 5/min | No overage |
| Starter | $9/mo | 20,000 | 5,000 daily credits | 15/min | $0.75/1,000 overage credits when enabled |
| Growth | $29/mo | 100,000 | 25,000 daily credits | 45/min | $0.45/1,000 overage credits when enabled |
| Pro | $79/mo | 400,000 | No daily cap | 120/min | $0.30/1,000 overage credits |
| Business | $199/mo | 1,200,000 | No daily cap | 300/min | $0.20/1,000 overage credits |
| Enterprise | $499/mo | 5,000,000 | No daily cap | 1,000/min | $0.12/1,000 overage credits |
Failure responses
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 502 | Google upstream request failed | #/definitions/app.Response |
Request body example
{
"country": "us",
"keyword": "chatgpt",
"language": "en",
"limit": 10,
"page": 1
}Example response
{
"code": 200,
"msg": "OK",
"data": {
"result": [
{
"position": 1,
"title": "ChatGPT",
"website_name": "ChatGPT",
"icon": "",
"link": "https://chatgpt.com/",
"Snippet": "ChatGPT helps you get answers and create."
}
]
}
}Request schema
#/definitions/google.SearchOption
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| country | string | Yes | us | Country code | ||
| keyword | string | Yes | chatgpt | |||
| language | string | Yes | en | language code | ||
| limit | integer | No | 10 | Number of items, from 10 to 100, inclusive | ||
| page | integer | No | 1 |
Response schema
#/definitions/google.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | google.SearchResp | No | ||||
| data.knowledge_graph | google.KnowledgeGraph | No | ||||
| data.knowledge_graph.attributes | array | No | ||||
| data.knowledge_graph.attributes[].id | string | No | kc:/computer/software:developer | Attribute ID | ||
| data.knowledge_graph.attributes[].label | string | No | Developer | Attribute label | ||
| data.knowledge_graph.attributes[].value | string | No | OpenAI, Microsoft | Attribute value | ||
| data.knowledge_graph.description | string | No | ChatGPT is a generative artificial intelligence chatbot developed by OpenAI. | Description | ||
| data.knowledge_graph.sub_title | string | No | Software | Subtitle of the knowledge graph item | ||
| data.knowledge_graph.title | string | No | ChatGPT | Title of the knowledge graph item | ||
| data.knowledge_graph.wikipedia_link | string | No | https://en.wikipedia.org/wiki/ChatGPT | Wikipedia link | ||
| data.people_also_ask | array | No | ||||
| data.people_also_ask[].answer | string | No | ChatGPT is a chatbot developed by OpenAI. | Answer to the question | ||
| data.people_also_ask[].date | string | No | 2024-09-30 | Date of the response | ||
| data.people_also_ask[].link | string | No | https://openai.com/chatgpt/ | Link to the source | ||
| data.people_also_ask[].question | string | No | What is ChatGPT? | Question from "People Also Ask" | ||
| data.people_also_ask[].title | string | No | ChatGPT | Title of the source | ||
| data.people_also_search_for | array | No | Gemini, WhatsApp | |||
| data.related_searches | array | No | What is ChatGPT? | |||
| data.result | array | No | ||||
| data.result[].Snippet | string | No | Never run out of your favorite coffees, teas and powders again with our auto-delivery subscription. Select how often your products arrive, pause and cancel ... | |||
| data.result[].icon | string | No | ||||
| data.result[].link | string | No | https://www.coffeebean.com/ | |||
| data.result[].position | integer | No | 1 | |||
| data.result[].time | string | No | 7 hours ago | |||
| data.result[].title | string | No | Home | The Coffee Bean & Tea Leaf | |||
| data.result[].website_name | string | No | OpenAI | |||
| msg | string | No | OK |
Example request
curl -X POST "https://api.crawlora.net/api/v1/google/search" -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"country":"us","keyword":"chatgpt","language":"en","limit":10,"page":1}'TypeScript fetch
const url = new URL("https://api.crawlora.net/api/v1/google/search");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
headers.set("Content-Type", "application/json");
const response = await fetch(url, {
method: "POST",
headers,
body: JSON.stringify({
"country": "us",
"keyword": "chatgpt",
"language": "en",
"limit": 10,
"page": 1
}),
});
const payload = await response.json();