# SerpApi's Python client on SpecStream

Date: 2026-11-10

Client: serpapi 1.2.0 (PyPI), Python 3.14.4

The one line a user changes:

```python
client = serpapi.Client(api_key=SPECSTREAM_KEY); client.BASE_DOMAIN = "https://api.specstream.ai/serpapi"
```

## Request parameters

| Parameter | Sent | Status | Result |
| --- | --- | --- | --- |
| `q` | `q=Larkspur Colorado mayor` | 200 | honoured |
| `engine` | `engine=google` | 200 | honoured |
| `num` | `num=5` | 200 | honoured |
| `start` | `start=10` | 200 | honoured |
| `tbs (qdr)` | `tbs=qdr:w` | 200 | honoured |
| `tbs (cdr)` | `tbs=cdr:1,cd_min:1/1/2025,cd_max:6/30/2025` | 200 | honoured |
| `location` | `location=Austin, Texas, United States` | 200 | accepted, not applied |
| `uule` | `uule=w+CAIQICINVW5pdGVkIFN0YXRlcw` | 200 | accepted, not applied |
| `google_domain` | `google_domain=google.co.uk` | 200 | accepted, not applied |
| `gl` | `gl=fr` | 200 | accepted, not applied |
| `hl` | `hl=fr` | 200 | accepted, not applied |
| `cr` | `cr=countryFR` | 200 | accepted, not applied |
| `lr` | `lr=lang_fr` | 200 | accepted, not applied |
| `safe` | `safe=active` | 200 | accepted, not applied |
| `nfpr` | `nfpr=1` | 200 | accepted, not applied |
| `filter` | `filter=0` | 200 | accepted, not applied |
| `device` | `device=mobile` | 200 | accepted, not applied |
| `no_cache` | `no_cache=true` | 200 | accepted, not applied |
| `zero_trace` | `zero_trace=true` | 200 | accepted, not applied |
| `json_restrictor` | `json_restrictor=organic_results` | 200 | accepted, not applied |
| `udm` | `udm=14` | 200 | accepted, not applied |
| `tbm` | `tbm=nws` | 400 | refused (news results) |
| `engine (other)` | `engine=bing` | 400 | refused (another engine) |
| `next page (next_page())` | `start=10` | 200 | honoured |
| `api_key (none)` | `api_key=` | 401 | refused |

## Response fields

| Field | State |
| --- | --- |
| `search_metadata.id` | present |
| `search_metadata.status` | present |
| `search_metadata.json_endpoint` | absent |
| `search_metadata.created_at` | present |
| `search_metadata.processed_at` | present |
| `search_metadata.google_url` | absent |
| `search_metadata.raw_html_file` | absent |
| `search_metadata.total_time_taken` | present |
| `search_parameters.engine` | present |
| `search_parameters.q` | present |
| `search_parameters.location_requested` | absent |
| `search_parameters.location_used` | absent |
| `search_parameters.google_domain` | absent |
| `search_parameters.device` | absent |
| `search_information.organic_results_state` | present |
| `search_information.query_displayed` | present |
| `search_information.total_results` | present |
| `search_information.time_taken_displayed` | present |
| `answer_box` | absent |
| `knowledge_graph` | absent |
| `related_questions` | absent |
| `local_results` | absent |
| `top_stories` | absent |
| `organic_results[].position` | present |
| `organic_results[].title` | present |
| `organic_results[].link` | present |
| `organic_results[].redirect_link` | absent |
| `organic_results[].displayed_link` | present |
| `organic_results[].thumbnail` | absent |
| `organic_results[].favicon` | absent |
| `organic_results[].snippet` | present |
| `organic_results[].snippet_highlighted_words` | absent |
| `organic_results[].sitelinks` | absent |
| `organic_results[].source` | absent |
| `organic_results[].date` | present |
| `related_searches` | absent |
| `pagination` | absent |
| `serpapi_pagination.current` | present |
| `serpapi_pagination.next_link` | present |
| `serpapi_pagination.next` | present |
| `serpapi_pagination.other_pages` | absent |
