Search

Search the web

Perform a web search using a JSON request body. Supports date filters, site restriction, search mode, and a query_time reference timestamp for point-in-time search.

post/v1/search

Request

  • Base URL: https://api.keenable.ai
  • URL: https://api.keenable.ai/v1/search
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Request body

querystring required

Search query

mode'pro'

Retrieval mode; "pro" is the default

acquired_afterstring

Filter: pages acquired after this date (YYYY-MM-DD, ISO 8601, or relative like "7d")

acquired_beforestring

Filter: pages acquired before this date

published_afterstring

Filter: pages published after this date, a lower bound on publish time. Use this, not query_time, to get recent results.

published_beforestring

Filter: pages published before this date

sitestring

Restrict results to a specific domain

query_timestring

Leave empty for a normal search. An upper time bound for a point-in-time search: the web as it stood at this moment, with every page newer than it excluded. It sets no lower bound, so this is not a recency filter; for recent results use published_after. Accepts an ISO 8601 datetime (e.g. "2026-09-20T00:00:00Z"), a YYYY-MM-DD date, a Unix epoch, or an offset back from now ("7d" means as of 7 days ago, not the last 7 days). Units: min, h, d, w, mo, y.

snippet_max_lengthinteger

Maximum length, in characters, of the snippet returned per result. When omitted, a default snippet length is used.

max_resultsinteger

Maximum number of results to return. When omitted, a default count (10) is used.

enable_wizardsboolean

Experimental: use wizards (structured data outputs). Only valid in "pro" mode. Not available to an organization under a zero data retention policy: the request is refused with 400 zdr_wizards_unsupported.

Response

Search results

querystring required

Echo of the search query

modestring required

Search mode used

warningstring

Present when the request was not answered as a plain search. Either the query was a URL, so the page was fetched directly, or the query carried only a site: operator with no search terms, so the site name was used as the search term. It also says when wizards that the organization's settings turn on were left out because its zero data retention policy does not allow them.

Changes

No recorded changes to this operation across all 1 revision of this API.