Endpoint
Authentication
All requests require authentication headers. See Authentication for details.| Header | Type | Description |
|---|---|---|
SEMUST-API-USER | string | Your API username |
SEMUST-API-PASSWORD | string | Your API password |
Request Parameters
Send parameters as JSON in the request body withContent-Type: application/json.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | — | The search keyword to fetch results for |
language | string | No | "en" | Language code (e.g., “en”, “es”, “fr”) |
country | string | No | "US" | Country code (e.g., “US”, “GB”, “DE”) |
format | string | No | "json" | Response format: “json” or “raw” |
mobile | boolean | No | false | Whether to fetch mobile results |
start_page | integer | No | 1 | Starting page number (1-indexed) |
end_page | integer | No | 1 | Ending page number for multi-page requests |
Code Examples
Multi-Page Requests
To fetch multiple pages of results, usestart_page and end_page parameters. The response will be an array of result objects, one per page.
Python
Response Format
JSON Format (format: "json")
Returns structured data with organic results, knowledge panels, and other SERP elements.
Raw Format (format: "raw")
Returns the raw HTML of the search results page. Useful for custom parsing or debugging.
Example Response
Single Page Response
Multi-Page Response
Response Fields Reference
Root-Level Fields
Not all fields are present in every response. Fields are included only when data is available.| Field | Type | Description |
|---|---|---|
organic | array | Main organic search results |
knowledge | object | Knowledge panel information (Wikipedia-like data) |
people_also_ask | array | ”People also ask” questions with answers |
related | array | Related searches at bottom of SERP |
navigation | array | Search type tabs (Images, Videos, News, etc.) |
perspectives | array | Social media and forum perspectives |
ai_overview | object | AI-generated overview (Google AI Overviews) |
images | array | Image carousel results |
top_ads | array | Sponsored results at top of page |
bottom_ads | array | Sponsored results at bottom of page |
overview | object | Knowledge graph metadata (kgmid, title) |
Organic Result Fields
| Field | Type | Description |
|---|---|---|
rank | integer | Position within organic results (1-indexed) |
global_rank | integer | Position across all SERP elements |
title | string | Result title |
description | string | Result snippet/description |
link | string | Destination URL |
display_link | string | Formatted URL as displayed in SERP |
source | string | Website or source name |
extensions | array | Site links, dates, and other extensions |
image | string | Thumbnail URL (for video results) |
duration | string | Video duration (e.g., “19:10”) |
duration_sec | integer | Video duration in seconds |
Error Codes
Error Response
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Invalid request format or malformed JSON |
| 400 | KEYWORD_REQUIRED | Missing required keyword parameter |
| 400 | INVALID_FORMAT | Format must be “json” or “raw” |
| 401 | INVALID_API_KEY | Authentication failed - invalid credentials |
| 402 | INSUFFICIENT_CREDITS | Your account does not have enough credits |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests, please slow down |
| 500 | INTERNAL_ERROR | Server-side error occurred |
| 502 | SERP_FAILED | Failed to retrieve SERP data |
| 504 | TIMEOUT | Request timed out |
Credits & Rate Limits
Credits
Each SERP request consumes credits from your account balance. Multi-page requests consume one credit per page.
Rate Limits
API requests are rate-limited to ensure fair usage. Contact support if you need higher limits.
