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.4.0 | 2026-10-12 |
| Vercel AI SDK tools | @search1api/ai-sdk | 0.3.0 | 2026-10-12 |
| Python SDK | search1api | 0.4.0 | 2026-10-12 |
| CLI | search1api-cli | 2.0.0 | 2026-10-12 |
| MCP server | search1api-mcp | 0.7.1 | 2026-10-12 |
| LangChain | search1api-langchain | 0.2.0 | 2026-10-12 |
| n8n | n8n-nodes-search1api | 0.2.0 | 2026-10-12 |
| DeepSeek Harness | dsh-s1 | 0.2.0 | 2026-10-12 |
| Hermes | hermes-search1api | 0.2.0 | 2026-10-12 |
| OpenCode | opencode-search1api | 0.2.0 | 2026-10-12 |
| OpenClaw | openclaw-search1api | 0.2.0 | 2026-10-12 |
| 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. 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 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-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 enabless1_askby default; LangChain addssearch1api_askto its toolkit; n8n adds Agentic Search. -
Integrations - result fields: Search/news preserve optional per-result
metadataand top-levelpublished_date; agentic search preservesintent, resultsource/relevance, and optionalerrors. DSH retains itslinktourlmapping. 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
metadataobject. ForPOST /searchwithsearch_service: "github", readmetadata.kind,metadata.stars,metadata.language, andmetadata.num_comments. ForPOST /newswithsearch_service: "hackernews", readmetadata.story_url,metadata.points, andmetadata.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, optionalcontentandpublished_datestay at the result top level;searchParametersstays at the response top level.metadatais omitted when no engine-specific fields apply. Numeric zeros are retained; unavailable fields and empty article URLs are omitted./askand/trendingare 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 toPOST /search. It searches Grokipedia, xAI's English-language encyclopedia, and returns entry titles, links and opening text.pageis supported;languageandtime_rangeare ignored, and results carry nopublished_date. - SDK:
@search1api/client0.3.0 andsearch1api(Python) 0.3.0 addask()forPOST /askandfeedback()forPOST /feedback.ask()defaults to a 45-second timeout;feedback()is never retried automatically. Search adds thebingcn,yandex, andgrokipediaengines andpage,sogouis removed from the engine types, and result types includepublished_date, thegithubfieldskind,stars,language, andnum_comments, and thehackernewsnews fieldsstory_url,points, andnum_comments. See Official SDKs. - CLI:
search1api-cli1.5.0 addss1 ask.s1 searchadds thebingcn,yandex, andgrokipediaengines and-p/--page;s1 searchands1 newsaccept-t week, and formatted output showspublished_date. The bundled Agent Skill explains when to usesearchand when to useask. See CLI. - MCP:
search1api-mcp0.7.0 adds anasktool.searchadds thebingcn,yandex, andgrokipediaengines andpage;searchandnewsaccepttime_range: "week", and results passpublished_dateand the GitHub and Hacker News fields through inmetadata. The hosted server athttps://mcp.search1api.com/mcpruns 0.7.0. Feedback stays API-only. See MCP server. - Integrations:
@search1api/ai-sdk0.2.0 adds anasktool forPOST /ask. Like the MCP server'sasktool, it is included insearch1apiTools()by default; each call costs 5 credits, andonly: ['search', 'news', 'crawl']keeps the previous tool set.search1apiAsk()creates it on its own.searchadds thebingcn,yandex, andgrokipediaengines andpage, andsearchandnewsaccepttime_range: "week". The package now depends on@search1api/client0.3.0. See the AI SDK guide. - Docs: Improving search results covers
grokipedia: what results contain,pagesupport, 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 /feedbackadded. Agents and applications can report a Search1API problem, a missing capability, or confusing documentation.messageis required;intent,category(bug,feature_request,docs, orother),request_id, andagent(name,model) are optional, and unknown fields are rejected. A stored report returns201with{ "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-sdk0.1.2 lets the model choose search parameters, matching the MCP server:search_service,max_results,include_sites,exclude_sites, andtime_rangeonsearchandnews. 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-sdk0.1.1, the official Search1API tools package for Vercel AI SDK. It exposessearch,news, andcrawlthroughsearch1apiTools()or individual tool factories forgenerateTextandstreamText. 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 /searchwithoutsearch_servicenow 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 /newsis unchanged. - API:
POST /asknow takes onlyquery. Thesources,time_range, andmax_resultsrequest 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, usePOST /search. This change shipped one day after/asklaunched, without the advance notice described above.
2026-10-06
- API:
POST /askadded. Send a natural-languagequery; TypeSafe's Jev model detects intent and routes it to up to five engines, applies aday,week,month, oryearwindow 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.sourcesandtime_rangeoverride either decision,max_resultscaps the result count (default 10, maximum 20), andintentreports the keywords, engines, and window that were used. Engines that fail while others complete are listed inerrors. A completed request costs a flat 5 credits; when no engine completes the API returns502and the request is not charged./askrequires 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
/askin 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, andtrending. 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 toPOST /search. Results includepublished_date(UTC timestamp) whentime_rangeis set; withouttime_rangethe field is omitted.pageis not supported — native SERP pagination remains limited tobing,bingcn, andbaidu.
2026-09-18
- API:
POST /searchwithsearch_service: "github"now returns issues, pull requests and discussions alongside repositories. Each result carrieskind(repo,issue,prordiscussion); repositories also carrystarsandlanguage, threads carrynum_comments.time_rangefilters 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 /newswithsearch_service: "hackernews"now links to the Hacker News discussion thread (news.ycombinator.com/item?id=...) instead of the submitted article, and addsstory_url(the article; empty for Ask/Show HN text posts),pointsandnum_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 /searchwithsearch_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 tomax_resultskeeps on-topic posts. - API:
POST /searchandPOST /newsresults carrypublished_date(ISO 8601) when the source exposes one. See Narrow by time or language. - API:
POST /searchwithsearch_service: "x"now honorstime_rangeandlanguage. Both were accepted and silently ignored before.pageremains unsupported forx.
2026-09-17
- Integrations:
hermes-search1api0.1.0 published for Hermes Agent. It registerssearch1api_search,search1api_news,search1api_crawl,search1api_sitemap, andsearch1api_trendingas native Hermes tools, plus a bundledplugin:search1apiskill. Install withhermes plugins install superagents-lab/hermes-search1api --enable. - 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.