Search1API

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

SurfacePackageVersionReleased
TypeScript SDK@search1api/client0.4.02026-10-12
Vercel AI SDK tools@search1api/ai-sdk0.3.02026-10-12
Python SDKsearch1api0.4.02026-10-12
CLIsearch1api-cli2.0.02026-10-12
MCP serversearch1api-mcp0.7.12026-10-12
LangChainsearch1api-langchain0.2.02026-10-12
n8nn8n-nodes-search1api0.2.02026-10-12
DeepSeek Harnessdsh-s10.2.02026-10-12
Hermeshermes-search1api0.2.02026-10-12
OpenCodeopencode-search1api0.2.02026-10-12
OpenClawopenclaw-search1api0.2.02026-10-12
Grok Buildgrok-search1api1.0.02026-08-04
Factory Droiddroid-s1unversioned2026-08-16

The HTTP API has no version number. Changes are normally additive; explicit compatibility exceptions are recorded below.

Compatibility promise

Search1API does not version its API URLs. The default compatibility rules are:

  • 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. The metadata correction dated 2026-10-12 below is a one-time exception for recently introduced engine-specific fields; the default rule remains that existing fields are not renamed, retyped, or moved.
  • 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 Gone and 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 404 to 200) 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-10-12

  • Integrations: LangChain, n8n, DeepSeek Harness, Hermes, OpenCode, and OpenClaw release 0.2.0. All six expose query-only agentic search (five credits, 45-second timeout), all 19 search engines and six news sources, week, and search pagination. DSH enables s1_ask by default; LangChain adds search1api_ask to its toolkit; n8n adds Agentic Search.

  • Integrations - result fields: Search/news preserve optional per-result metadata and top-level published_date; agentic search preserves intent, result source/relevance, and optional errors. DSH retains its link to url mapping. LangChain/Hermes use Python SDK 0.4.0, DSH uses TypeScript SDK 0.4.0, and OpenCode/OpenClaw use CLI 2.0.0.

  • API - breaking response correction: Engine-specific fields move into each result's optional metadata object. For POST /search with search_service: "github", read metadata.kind, metadata.stars, metadata.language, and metadata.num_comments. For POST /news with search_service: "hackernews", read metadata.story_url, metadata.points, and metadata.num_comments. The old top-level fields are removed directly, with no duplicate aliases or deprecation period. This is an explicit exception to the usual field-position compatibility promise for the recently introduced fields. Update any code that reads the old paths before switching to the new response.

  • title, link, snippet, optional content and published_date stay at the result top level; searchParameters stays at the response top level. metadata is omitted when no engine-specific fields apply. Numeric zeros are retained; unavailable fields and empty article URLs are omitted. /ask and /trending are unchanged.

  • Clients: TypeScript SDK 0.4.0, Python SDK 0.4.0 and CLI 2.0.0 types expose engine-specific fields through metadata. MCP server 0.7.1 reads the new API object while preserving its existing tool output structure. AI SDK tools 0.3.0 depend on @search1api/client ^0.4.0 and preserve nested result metadata.

2026-10-10

  • API: search_service: "grokipedia" added to POST /search. It searches Grokipedia, xAI's English-language encyclopedia, and returns entry titles, links and opening text. page is supported; language and time_range are ignored, and results carry no published_date.
  • SDK: @search1api/client 0.3.0 and search1api (Python) 0.3.0 add ask() for POST /ask and feedback() for POST /feedback. ask() defaults to a 45-second timeout; feedback() is never retried automatically. Search adds the bingcn, yandex, and grokipedia engines and page, sogou is removed from the engine types, and result types include published_date, the github fields kind, stars, language, and num_comments, and the hackernews news fields story_url, points, and num_comments. See Official SDKs.
  • CLI: search1api-cli 1.5.0 adds s1 ask. s1 search adds the bingcn, yandex, and grokipedia engines and -p/--page; s1 search and s1 news accept -t week, and formatted output shows published_date. The bundled Agent Skill explains when to use search and when to use ask. See CLI.
  • MCP: search1api-mcp 0.7.0 adds an ask tool. search adds the bingcn, yandex, and grokipedia engines and page; search and news accept time_range: "week", and results pass published_date and the GitHub and Hacker News fields through in metadata. The hosted server at https://mcp.search1api.com/mcp runs 0.7.0. Feedback stays API-only. See MCP server.
  • Integrations: @search1api/ai-sdk 0.2.0 adds an ask tool for POST /ask. Like the MCP server's ask tool, it is included in search1apiTools() by default; each call costs 5 credits, and only: ['search', 'news', 'crawl'] keeps the previous tool set. search1apiAsk() creates it on its own. search adds the bingcn, yandex, and grokipedia engines and page, and search and news accept time_range: "week". The package now depends on @search1api/client 0.3.0. See the AI SDK guide.
  • Docs: Improving search results covers grokipedia: what results contain, page support, and the xAI attribution and license terms for showing Grokipedia content. The website has a Grokipedia Search API page.
  • Docs: Ask, Official SDKs, CLI, and MCP server cover the new SDK methods, command, and tool.

2026-10-08

  • API: POST /feedback added. Agents and applications can report a Search1API problem, a missing capability, or confusing documentation. message is required; intent, category (bug, feature_request, docs, or other), request_id, and agent (name, model) are optional, and unknown fields are rejected. A stored report returns 201 with { "id": "fb_...", "status": "new" }. Feedback is free, works on accounts with no remaining credits, and takes an API key or OAuth token but not pay-per-request payment. It is limited to 10 submissions per account per minute at each Cloudflare location. Requests carry no idempotency key, so do not retry a report automatically. The endpoint is API-only: the MCP server and CLI do not add a tool or command for it.
  • Integrations: @search1api/ai-sdk 0.1.2 lets the model choose search parameters, matching the MCP server: search_service, max_results, include_sites, exclude_sites, and time_range on search and news. Settings passed in code become defaults. Result page crawling stays under application control, unknown model arguments are ignored instead of failing the call, and search and news now default to ten results. See the AI SDK guide.
  • Integrations: Published @search1api/ai-sdk 0.1.1, the official Search1API tools package for Vercel AI SDK. It exposes search, news, and crawl through search1apiTools() or individual tool factories for generateText and streamText. Configure your Search1API API key on the server and your model provider's credentials separately. See the AI SDK guide and Next.js example.
  • Docs: Added a Vercel guide comparing AI SDK tools with Vercel Connect. It covers connector setup and requesting a user's Search1API credentials with @vercel/connect. The website now has one Vercel integration page, linked from the integration directory, navigation, and footer.
  • Docs: Added a Feedback reference page covering the request fields, status codes, and what not to include in a report.

2026-10-07

  • API: POST /search without search_service now searches Google, exactly as if "search_service": "google" were sent. It previously ran a mix of engines and merged their rankings. Request and response shapes are unchanged. POST /news is unchanged.
  • API: POST /ask now takes only query. The sources, time_range, and max_results request fields were removed: the decision model always chooses the engines and the time window, and a response holds at most 10 results. Requests that still send these fields are accepted and the fields are ignored. To choose the engine and window yourself, use POST /search. This change shipped one day after /ask launched, without the advance notice described above.

2026-10-06

  • API: POST /ask added. Send a natural-language query; TypeSafe's Jev model detects intent and routes it to up to five engines, applies a day, week, month, or year window when the query mentions a time, searches the engines in parallel, and reranks results by Jev relevance score, dropping those below 0.5 and merging duplicates across engines. sources and time_range override either decision, max_results caps the result count (default 10, maximum 20), and intent reports the keywords, engines, and window that were used. Engines that fail while others complete are listed in errors. A completed request costs a flat 5 credits; when no engine completes the API returns 502 and the request is not charged. /ask requires an API key, is limited to 30 requests per minute per account, and is not available through x402 or MPP. The SDKs, CLI, and MCP server do not include it yet.
  • Docs: Added an Ask reference page, and covered /ask in Choosing an endpoint and Credits and limits.

2026-10-03

  • Integrations: Search1API is available in Claude as a connector and a plugin. Both connect to the same hosted MCP server and expose search, news, crawl, sitemap, and trending. The plugin also bundles a Search1API Agent Skill to guide tool selection and answers with source links. Both authenticate through OAuth and use your Search1API account credits.
  • Docs: Added a Claude guide with connector and plugin installation steps. Updated the MCP server and Agent Skills guides to distinguish the published Claude integrations from manual MCP configuration and the standalone Agent Skill + CLI setup.

2026-09-19

  • API: search_service: "yandex" added to POST /search. Results include published_date (UTC timestamp) when time_range is set; without time_range the field is omitted. page is not supported — native SERP pagination remains limited to bing, bingcn, and baidu.

2026-09-18

  • API: POST /search with search_service: "github" now returns issues, pull requests and discussions alongside repositories. Each result carries kind (repo, issue, pr or discussion); repositories also carry stars and language, threads carry num_comments. time_range filters by creation date (it previously filtered by last push, so "this week" returned years-old repositories). Results are ordered by how many query terms the title or description contains, then by stars; a page is no longer all one kind when another kind also matched. Queries with a type-specific qualifier (is:issue, stars:>100, ...) search only that type. Discussions require the service's GitHub token; without one, repositories and issues/PRs are still returned.
  • API: POST /news with search_service: "hackernews" now links to the Hacker News discussion thread (news.ycombinator.com/item?id=...) instead of the submitted article, and adds story_url (the article; empty for Ask/Show HN text posts), points and num_comments. Multi-word queries match any of the words instead of requiring all of them, ranked by how many words the story matches and then by points; snippets no longer contain HTML entities or tags.
  • API: POST /search with search_service: "reddit" re-orders each page so posts whose title or subreddit carries the query terms come first. Reddit's own selection is kept; only the order within the page changes, and a larger page is fetched for multi-word queries so the cut to max_results keeps on-topic posts.
  • API: POST /search and POST /news results carry published_date (ISO 8601) when the source exposes one. See Narrow by time or language.
  • API: POST /search with search_service: "x" now honors time_range and language. Both were accepted and silently ignored before. page remains unsupported for x.

2026-09-17

  • Integrations: hermes-search1api 0.1.0 published for Hermes Agent. It registers search1api_search, search1api_news, search1api_crawl, search1api_sitemap, and search1api_trending as native Hermes tools, plus a bundled plugin:search1api skill. Install with hermes plugins install superagents-lab/hermes-search1api --enable.
  • API: All error responses are JSON. Every error now carries ok: false, an error label, and a message. POST /crawl dead-link 404/410 responses previously returned plain text.
  • API: GET /deepcrawl/status/{taskId} returns 404 for an unknown task instead of 500 with an internal error message.
  • API: POST /sitemap 400 responses name the invalid field instead of a generic message.
  • API: POST /crawl accepts enable_fallback as an alias of enableFallback. Both spellings behave the same; enableFallback remains in the OpenAPI document.

2026-09-13

  • API: search_service: "sogou" removed from POST /search. Requests that send it now fail validation with 422; omit the field to let the API choose an engine.

2026-09-12

  • API: page added to POST /search for native SERP pagination on engines that support it (bing, bingcn, baidu). Other engines ignore it.

2026-09-11

  • API: search_service: "bingcn" added to POST /search.

2026-09-03

  • MCP: search1api-mcp 0.6.1 restores authentication on every /mcp request. 0.6.0 had let discovery methods through anonymously, which stopped many clients from ever starting OAuth: they treat the first 401 plus WWW-Authenticate as the signal to authorize. Unauthenticated requests, including initialize and tools/list, get that challenge again. Release notes.

2026-08-26

  • MCP: search1api-mcp 0.6.0 let initialize, ping, server/discover, tools/list, prompts/list, resources/list, and resources/read run without a credential so registry checkers could enumerate tools. Reverted in 0.6.1 (above).

2026-08-25

  • API: POST /sitemap with type: "sitemap" now reads the site's sitemap files instead of crawling links from the homepage.
  • CLI: search1api-cli 1.4.0 adds s1 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 /crawl dead links are billed as completed answers. When the target server itself returns 404 or 410, 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 return 502 and are not charged.
  • API: POST /crawl passes through upstream 400 reasons (for example, an unsupported URL scheme) instead of reporting 502.

2026-08-19

  • SDK: @search1api/client 0.2.1 and search1api (Python) 0.2.1 resync their vendored OpenAPI snapshot with the live contract: 404 is dropped from POST /search and POST /news, 403 is added to POST /screenshot, request-body types are regenerated, and every operation now carries its description. Package homepages point to s1.dev.
  • CLI: search1api-cli 1.3.1 adds a Codex plugin marketplace catalog and moves published URLs to s1.dev.
  • MCP: search1api-mcp 0.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. OAuth resource_documentation and other metadata now point to s1.dev.

2026-08-16

  • Integrations: droid-s1 plugin for Factory Droid published, giving Droid search, news, crawl, sitemap, and trending through the hosted MCP server.

2026-08-14

  • Integrations: dsh-s1 0.1.0 published for the DeepSeek Harness: s1_search, s1_news, s1_crawl, s1_sitemap, and s1_trending as native tools, with a bundled s1 skill. Install with dsh plugin --profile web add dsh-s1.

2026-08-11

  • API: Zero-result searches return 200. POST /search and POST /news respond with 200 and an empty results array when the engines confirm there are no matches, and the request is charged. They previously returned 404. Searches that could not complete now return 502 and 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-resource pick this up automatically.

2026-08-10

  • Docs: The public site moved from www.search1api.com to s1.dev; documentation lives at s1.dev/docs. The API host api.search1api.com and the hosted MCP host mcp.search1api.com did not change.

2026-08-06

  • Integrations: n8n-nodes-search1api passed n8n's review and is listed in the official community node catalog.

2026-08-04

  • CLI: search1api-cli 1.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-search1api 0.1.1 (OpenCode), openclaw-search1api 0.1.x (OpenClaw, via ClawHub), and grok-search1api 1.0.0 (Grok Build) published, each exposing search, news, crawl, sitemap, and trending as tools.

2026-08-03

  • API: x-search1api-request-id response header added on paid endpoints. Quote it when contacting support.

2026-08-02

  • MCP: search1api-mcp 0.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 with invalid_scope.

2026-07-31

  • Integrations: n8n-nodes-search1api 0.1.3 fixes the node identifier used by Codex to its fully qualified form.

2026-07-30

  • MCP: search1api-mcp 0.5.2 validates the Origin header on /mcp before parsing or authentication and answers 403 for untrusted browser origins. Self-hosted deployments can allow browser clients with MCP_ALLOWED_ORIGINS. Server-side clients without an Origin header are unaffected.

2026-07-29

  • MCP: search1api-mcp 0.5.0 and 0.5.1 implement MCP revision 2026-07-28. Remote HTTP is stateless: no Mcp-Session-Id, no sticky routing; every request carries its protocol version and client capabilities in _meta, and server/discover reports supported versions and capabilities. Clients on the 2025 revisions keep working over HTTP and stdio. Credentials are validated on every HTTP exchange, and the Host header is checked against DNS rebinding.
  • MCP: The redundant fetch tool was removed. The public tools are search, news, crawl, sitemap, and trending; use crawl where you used fetch.
  • Integrations: search1api-langchain 0.1.0 published on PyPI: Search1APISearch, Search1APINews, and Search1APICrawl tools plus Search1APIToolkit, with sync and async invocation over the official Python SDK.

2026-07-28

  • MCP: search1api-mcp 0.4.0 prepares the server for public registries (Official MCP Registry, LobeHub) with registry manifests and structured tool outputs.
  • Integrations: n8n-nodes-search1api 0.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 /screenshot launched. 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/client 0.2.0 and search1api (Python) 0.2.0 add client.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/client 0.1.0 (ESM and CommonJS, generated types) and search1api (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-cli 1.2.2 and 1.2.3: s1 login runs the full OAuth public-client flow and refreshes expired access tokens automatically; retired commands were removed; npm releases are automated.
  • MCP: search1api-mcp 0.3.1 adds OAuth to the hosted server at https://mcp.search1api.com/mcp, alongside API keys.

2026-07-16

  • API: User-supplied proxy fields removed from POST /search and POST /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/completions and GET /v1/models discontinued. Both answer 410 Gone. Use POST /search with crawl_results to ground your own model instead.

2026-06-03

  • CLI: search1api-cli 1.2.1 adds s1 update for self-updating the standalone binary.

2026-04-02

  • CLI: search1api-cli 1.2.0 adds a browser-based login flow.

2026-03-31

  • CLI: search1api-cli 1.1.3 ships standalone binaries for macOS (Apple Silicon and Intel), Linux (x64 and arm64), and Windows (x64), installable without Node.js via curl -fsSL https://cli.search1api.com/install.sh | bash.

2026-03-13

  • CLI: search1api-cli 1.0.0 through 1.1.2, the first releases of s1: 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-mcp 0.3.0 adds the hosted Remote MCP server over Streamable HTTP at https://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 to POST /search. Bing pagination and English-language result handling improved.

2025-08-28

  • API: max_results on POST /search and POST /news raised 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 in sitemap or all mode, 20 credits to start a task; GET /deepcrawl/status/{taskId} is free.
  • API: search_service values baidu, quark, and 360 added to POST /search; reuters added to POST /news.

2025-04-14

  • API: POST /crawl returns 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-mcp 0.2.0 reads SEARCH1API_KEY from the environment first and falls back to a project .env, with LibreChat and Docker setup documented. Community contribution.

2025-04-01

  • API: POST /crawl returns 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_service values x and reddit added to POST /search.
  • MCP: search1api-mcp 0.1.8 exposes the X and Reddit engines.

2025-03-21

  • API: POST /trending launched with GitHub Trending and Hacker News rankings.
  • MCP: search1api-mcp 0.1.7 adds the trending tool.

2025-03-20

  • API: search_service: "wikipedia" added to POST /search.
  • MCP: search1api-mcp 0.1.6 exposes the Wikipedia engine.

2025-03-18

  • MCP: search1api-mcp 0.1.5 adds include_sites, exclude_sites, and time_range to the search tool and exposes the engines added in March.

2025-03-17

  • API: search_service: "wechat" added to POST /search.

2025-03-16

  • API: search_service values yahoo, youtube, github, arxiv, bilibili, and imdb added to POST /search; yahoo and hackernews added to POST /news.

2025-02-28

  • API: time_range and language added to POST /search and POST /news. The hl and gl parameters were removed in favor of language.

2025-02-27

  • API: include_sites and exclude_sites added to POST /search and POST /news.
  • API: Fixed one-time credit packages expiring together with a subscription.

2025-02-21

  • MCP: search1api-mcp 0.1.4 adds a reasoning tool 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/completions with 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-mcp 0.1.3 adds the news tool.

2024-11-29

  • MCP: search1api-mcp 0.1.2 adds the sitemap tool.

2024-11-26

  • MCP: search1api-mcp 0.1.0 and 0.1.1, the first Search1API MCP server, with search and crawl tools over stdio.

2024-04-29

  • API: Search1API launched with POST /search, POST /crawl, and the first public documentation.

On this page