Changelog
Search1API's compatibility promise and a dated record of changes to the API, SDKs, CLI, and MCP server.
This page records changes across every developer surface: the HTTP API contract (endpoints, request and response fields, status codes, headers, billing semantics), the official SDKs, the CLI, and the MCP server. Each entry is tagged with the surface it affects. Product and dashboard updates live on the product changelog.
Current versions
| Surface | Package | Version | Released |
|---|---|---|---|
| TypeScript SDK | @search1api/client | 0.2.1 | 2026-08-19 |
| Python SDK | search1api | 0.2.1 | 2026-08-19 |
| CLI | search1api-cli | 1.4.0 | 2026-08-25 |
| MCP server | search1api-mcp | 0.6.1 | 2026-09-03 |
| LangChain | search1api-langchain | 0.1.0 | 2026-07-29 |
| n8n | n8n-nodes-search1api | 0.1.3 | 2026-07-31 |
| DeepSeek Harness | dsh-s1 | 0.1.0 | 2026-08-14 |
| OpenCode | opencode-search1api | 0.1.1 | 2026-08-04 |
| OpenClaw | openclaw-search1api | 0.1.3 | 2026-08-04 |
| Grok Build | grok-search1api | 1.0.0 | 2026-08-04 |
| Factory Droid | droid-s1 | unversioned | 2026-08-16 |
The HTTP API has no version number; it changes only additively, as described below.
Compatibility promise
Search1API does not version its API URLs. Instead, the contract only grows:
- Additive changes ship without notice. New endpoints, new optional request fields, new response fields, new enum values, and new response headers can appear at any time. Ignore response fields you do not recognize.
- Unknown request fields are ignored. Sending a field the API no longer reads does not fail the request.
- Existing fields keep their name, type, and position. A field is never renamed, retyped, or moved inside the response.
- Removals are announced here first. When an endpoint or field has to go, this page and the product changelog announce it before the change ships. A removed endpoint keeps answering with
410 Goneand a message that names its replacement. - Status codes are part of the contract. A change in what a status code means (for example, a zero-result search moving from
404to200) is recorded below with the date it shipped.
The machine-readable contract is the OpenAPI document. The official SDKs, CLI, and MCP server are built on it and pick up additive changes on their next release; their own releases follow semantic versioning and are listed here alongside API changes.
New request fields use snake_case (max_results, crawl_results, timeout_ms). A few older fields are camelCase (enableFallback, taskId, zipUrl) and stay that way; where it helps, the API accepts a snake_case alias alongside the original.
Changes
Tags: API (HTTP contract), SDK (TypeScript and Python clients), CLI (s1), MCP (hosted and stdio server), Integrations (framework and agent plugins), Docs.
2026-09-17
- API: All error responses are JSON. Every error now carries
ok: false, anerrorlabel, and amessage.POST /crawldead-link404/410responses previously returned plain text. - API:
GET /deepcrawl/status/{taskId}returns404for an unknown task instead of500with an internal error message. - API:
POST /sitemap400responses name the invalid field instead of a generic message. - API:
POST /crawlacceptsenable_fallbackas an alias ofenableFallback. Both spellings behave the same;enableFallbackremains in the OpenAPI document.
2026-09-13
- API:
search_service: "sogou"removed fromPOST /search. Requests that send it now fail validation with422; omit the field to let the API choose an engine.
2026-09-12
- API:
pageadded toPOST /searchfor native SERP pagination on engines that support it (bing,bingcn,baidu). Other engines ignore it.
2026-09-11
- API:
search_service: "bingcn"added toPOST /search.
2026-09-03
- MCP:
search1api-mcp0.6.1 restores authentication on every/mcprequest. 0.6.0 had let discovery methods through anonymously, which stopped many clients from ever starting OAuth: they treat the first401plusWWW-Authenticateas the signal to authorize. Unauthenticated requests, includinginitializeandtools/list, get that challenge again. Release notes.
2026-08-26
- MCP:
search1api-mcp0.6.0 letinitialize,ping,server/discover,tools/list,prompts/list,resources/list, andresources/readrun without a credential so registry checkers could enumerate tools. Reverted in 0.6.1 (above).
2026-08-25
- API:
POST /sitemapwithtype: "sitemap"now reads the site's sitemap files instead of crawling links from the homepage. - CLI:
search1api-cli1.4.0 addss1 learn, which turns a URL (or a documentation site with--site) into an installable Agent Skill. The CLI no longer prints its own billing estimate.
2026-08-21
- API:
POST /crawldead links are billed as completed answers. When the target server itself returns404or410, the API passes that status through with a message, and the request costs 1 credit, the same as a confirmed zero-result search. Service failures still return502and are not charged. - API:
POST /crawlpasses through upstream400reasons (for example, an unsupported URL scheme) instead of reporting502.
2026-08-19
- SDK:
@search1api/client0.2.1 andsearch1api(Python) 0.2.1 resync their vendored OpenAPI snapshot with the live contract:404is dropped fromPOST /searchandPOST /news,403is added toPOST /screenshot, request-body types are regenerated, and every operation now carries its description. Package homepages point tos1.dev. - CLI:
search1api-cli1.3.1 adds a Codex plugin marketplace catalog and moves published URLs tos1.dev. - MCP:
search1api-mcp0.5.4 serves a server card at/.well-known/mcp/server-card.json, generated from the tool list, so agents can discover tools before authenticating. OAuthresource_documentationand other metadata now point tos1.dev.
2026-08-16
- Integrations:
droid-s1plugin for Factory Droid published, giving Droid search, news, crawl, sitemap, and trending through the hosted MCP server.
2026-08-14
- Integrations:
dsh-s10.1.0 published for the DeepSeek Harness:s1_search,s1_news,s1_crawl,s1_sitemap, ands1_trendingas native tools, with a bundleds1skill. Install withdsh plugin --profile web add dsh-s1.
2026-08-11
- API: Zero-result searches return
200.POST /searchandPOST /newsrespond with200and an emptyresultsarray when the engines confirm there are no matches, and the request is charged. They previously returned404. Searches that could not complete now return502and are not charged. - MCP: The OAuth authorization server for the hosted MCP server and the REST API moved to
https://clerk.s1.dev. Clients that follow/.well-known/oauth-protected-resourcepick this up automatically.
2026-08-10
- Docs: The public site moved from
www.search1api.comtos1.dev; documentation lives ats1.dev/docs. The API hostapi.search1api.comand the hosted MCP hostmcp.search1api.comdid not change.
2026-08-06
- Integrations:
n8n-nodes-search1apipassed n8n's review and is listed in the official community node catalog.
2026-08-04
- CLI:
search1api-cli1.3.0 packages the CLI as a Claude plugin, an OpenAI plugin, and a Cursor Marketplace plugin, adds a Claude plugin marketplace catalog, and exposes the reusable client it is built on. - Integrations:
opencode-search1api0.1.1 (OpenCode),openclaw-search1api0.1.x (OpenClaw, via ClawHub), andgrok-search1api1.0.0 (Grok Build) published, each exposing search, news, crawl, sitemap, and trending as tools.
2026-08-03
- API:
x-search1api-request-idresponse header added on paid endpoints. Quote it when contacting support.
2026-08-02
- MCP:
search1api-mcp0.5.3 removes OIDC session scopes (openid,profile,email) from the OAuth resource metadata; they are not resource permissions and made Smithery's authorization fail withinvalid_scope.
2026-07-31
- Integrations:
n8n-nodes-search1api0.1.3 fixes the node identifier used by Codex to its fully qualified form.
2026-07-30
- MCP:
search1api-mcp0.5.2 validates theOriginheader on/mcpbefore parsing or authentication and answers403for untrusted browser origins. Self-hosted deployments can allow browser clients withMCP_ALLOWED_ORIGINS. Server-side clients without anOriginheader are unaffected.
2026-07-29
- MCP:
search1api-mcp0.5.0 and 0.5.1 implement MCP revision 2026-07-28. Remote HTTP is stateless: noMcp-Session-Id, no sticky routing; every request carries its protocol version and client capabilities in_meta, andserver/discoverreports supported versions and capabilities. Clients on the 2025 revisions keep working over HTTP and stdio. Credentials are validated on every HTTP exchange, and theHostheader is checked against DNS rebinding. - MCP: The redundant
fetchtool was removed. The public tools aresearch,news,crawl,sitemap, andtrending; usecrawlwhere you usedfetch. - Integrations:
search1api-langchain0.1.0 published on PyPI:Search1APISearch,Search1APINews, andSearch1APICrawltools plusSearch1APIToolkit, with sync and async invocation over the official Python SDK.
2026-07-28
- MCP:
search1api-mcp0.4.0 prepares the server for public registries (Official MCP Registry, LobeHub) with registry manifests and structured tool outputs. - Integrations:
n8n-nodes-search1api0.1.1, the first release of the n8n community node: search, news, crawl, sitemap, and trending as workflow nodes and as an n8n AI tool.
2026-07-25
- API:
POST /screenshotlaunched. Returns PNG, JPEG, or WebP bytes on success and JSON errors otherwise; supports full-page, viewport, and element captures with readiness, viewport, dark-mode, animation, and timeout controls. 2 credits per success, failed requests are not charged, with a separate limit of 10 requests per minute per account. - SDK:
@search1api/client0.2.0 andsearch1api(Python) 0.2.0 addclient.screenshot(), returning binary image data with the content type and request ID.
2026-07-22
- API: OAuth 2.1 access tokens (Authorization Code with PKCE, Dynamic Client Registration, refresh tokens, revocation) accepted as bearer credentials alongside API keys, on the same account, credits, rate limits, and usage reporting. Discovery metadata is served at
/.well-known/oauth-protected-resource. - API: OpenAPI document published at
https://api.search1api.com/openapi.json. - SDK:
@search1api/client0.1.0 (ESM and CommonJS, generated types) andsearch1api(Python) 0.1.0 (sync and async clients, type hints) are the first official SDKs, covering the whole public contract with structured errors, configurable timeouts, safe retries, batch operations, and deepcrawl polling helpers. - CLI:
search1api-cli1.2.2 and 1.2.3:s1 loginruns the full OAuth public-client flow and refreshes expired access tokens automatically; retired commands were removed; npm releases are automated. - MCP:
search1api-mcp0.3.1 adds OAuth to the hosted server athttps://mcp.search1api.com/mcp, alongside API keys.
2026-07-16
- API: User-supplied proxy fields removed from
POST /searchandPOST /crawl. The fields are now ignored; traffic always exits through Search1API's own pool.
2026-07-15
- Docs: Documentation rebuilt on Fumadocs and reorganized into Get Started, Essentials, Guides, Integrations, and API Reference, with explicit error and billing behavior for each endpoint.
2026-06-09
- API:
POST /v1/chat/completionsandGET /v1/modelsdiscontinued. Both answer410 Gone. UsePOST /searchwithcrawl_resultsto ground your own model instead.
2026-06-03
- CLI:
search1api-cli1.2.1 addss1 updatefor self-updating the standalone binary.
2026-04-02
- CLI:
search1api-cli1.2.0 adds a browser-based login flow.
2026-03-31
- CLI:
search1api-cli1.1.3 ships standalone binaries for macOS (Apple Silicon and Intel), Linux (x64 and arm64), and Windows (x64), installable without Node.js viacurl -fsSL https://cli.search1api.com/install.sh | bash.
2026-03-13
- CLI:
search1api-cli1.0.0 through 1.1.2, the first releases ofs1: search, news, crawl, sitemap, and trending from the terminal, an update notifier, and a bundled Claude Code skill. The Search1API Agent Skill moved from the MCP repository to the CLI repository.
2026-02-28
- MCP:
search1api-mcp0.3.0 adds the hosted Remote MCP server over Streamable HTTP athttps://mcp.search1api.com/mcp, plus a start script for container deployments. The stdio package continues to work.
2025-10-16
- API:
search_service: "google"added toPOST /search. Bing pagination and English-language result handling improved.
2025-08-28
- API:
max_resultsonPOST /searchandPOST /newsraised from 10 to 50.
2025-05-05
- API:
POST /extract(beta) launched: structured extraction from a page using a natural-language prompt and an optional JSON Schema, 10 credits per request. - API:
POST /deepcrawl(beta) launched: asynchronous whole-site crawling insitemaporallmode, 20 credits to start a task;GET /deepcrawl/status/{taskId}is free. - API:
search_servicevaluesbaidu,quark, and360added toPOST /search;reutersadded toPOST /news.
2025-04-14
- API:
POST /crawlreturns post text, images, and video comments for RedNote (Xiaohongshu) URLs.
2025-04-08
- API: Keyless free tier introduced: most endpoints could be called without an API key under an IP-based limit (5 requests per minute, 20 per day); free API keys got 200 requests per minute and 100 credits. Keyless access has since been replaced by pay-per-request payment challenges; see Authentication.
2025-04-05
- MCP:
search1api-mcp0.2.0 readsSEARCH1API_KEYfrom the environment first and falls back to a project.env, with LibreChat and Docker setup documented. Community contribution.
2025-04-01
- API:
POST /crawlreturns subtitles and interaction data (likes, views) for YouTube URLs, and full comment threads with sub-comments and vote counts for Reddit URLs.
2025-03-28
- API:
search_servicevaluesxandredditadded toPOST /search. - MCP:
search1api-mcp0.1.8 exposes the X and Reddit engines.
2025-03-21
- API:
POST /trendinglaunched with GitHub Trending and Hacker News rankings. - MCP:
search1api-mcp0.1.7 adds thetrendingtool.
2025-03-20
- API:
search_service: "wikipedia"added toPOST /search. - MCP:
search1api-mcp0.1.6 exposes the Wikipedia engine.
2025-03-18
- MCP:
search1api-mcp0.1.5 addsinclude_sites,exclude_sites, andtime_rangeto the search tool and exposes the engines added in March.
2025-03-17
- API:
search_service: "wechat"added toPOST /search.
2025-03-16
- API:
search_servicevaluesyahoo,youtube,github,arxiv,bilibili, andimdbadded toPOST /search;yahooandhackernewsadded toPOST /news.
2025-02-28
- API:
time_rangeandlanguageadded toPOST /searchandPOST /news. Thehlandglparameters were removed in favor oflanguage.
2025-02-27
- API:
include_sitesandexclude_sitesadded toPOST /searchandPOST /news. - API: Fixed one-time credit packages expiring together with a subscription.
2025-02-21
- MCP:
search1api-mcp0.1.4 adds areasoningtool backed by DeepSeek R1 with web search (discontinued with the reasoning API in 2026), plus Cursor and Windsurf configuration guides.
2025-02-17
- API: Reasoning search launched at
POST /v1/chat/completionswith DeepSeek R1 grounded by web search. Discontinued on 2026-06-09.
2025-02-08
- API: Default search language changed to English, improving result quality for unspecified-language queries.
2025-01-12
- API: Billing changed to per-outcome: credits are deducted for each successful search and each successful crawl; failed crawls are no longer charged.
2024-12-05
- MCP:
search1api-mcp0.1.3 adds thenewstool.
2024-11-29
- MCP:
search1api-mcp0.1.2 adds thesitemaptool.
2024-11-26
- MCP:
search1api-mcp0.1.0 and 0.1.1, the first Search1API MCP server, withsearchandcrawltools over stdio.
2024-04-29
- API: Search1API launched with
POST /search,POST /crawl, and the first public documentation.
DeepSeek Harness
Give your DeepSeek Harness agent live web access with the native dsh-s1 plugin — web search, news, page retrieval, sitemap discovery, and trending topics as first-class dsh tools.
Search
Search the web across multiple engines and return ranked results, optional images, and full page content for selected results.