---
title: "Search the web"
method: GET
path: "/api/v1/search"
---

# Search the web

`GET /api/v1/search`

## Request

- Base URL: `https://api.andiai.com`
- URL: `https://api.andiai.com/api/v1/search`
- Auth: API key in header `x-api-key`

Performs a web search and returns structured results. Search effort is set automatically per query by default (`searchMode=auto`), with fixed modes (low-cost, fast, balanced, deep, exhaustive) available for manual control. Supports domain and date filtering, query operators, and multiple output formats.

## Query parameters

- `q` string, required
- `limit` integer
- `offset` integer
- `searchMode` 'auto' | 'low-cost' | 'fast' | 'balanced' | 'deep' | 'exhaustive'
- `effort` 'low' | 'medium' | 'high' | 'max'
- `reranker` 'auto' | 'small' | 'medium' | 'large' | 'xl'
- `intent` string
- `format` 'json' | 'context'
- `metadata` 'basic' | 'full'
- `extracts` boolean
- `content` 'true' | 'focused' | 'false'
- `enrichContent` boolean
- `maxContentLength` integer
- `timeout` integer
- `safe` 'off' | 'moderate' | 'strict'
- `country` string
- `sourceCountry` string
- `language` string
- `languageMode` 'prefer' | 'strict'
- `units` 'metric' | 'imperial'
- `noCache` boolean
- `dateRange` 'day' | 'week' | 'month' | 'year' | '24h' | '7d' | '30d' | '90d' | '1y'
- `dateFrom` string, date
- `dateTo` string, date
- `includeDomains` string
- `excludeDomains` string
- `includeTerms` string
- `excludeTerms` string
- `parseOperators` boolean
- `linkFormat` 'link' | 'url'
- `imageFormat` 'short' | 'long'
- `filetype` string
- `intitle` string
- `inurl` string
- `intext` string

## Response `200`

Search results. JSON by default; LLM-ready markdown with YAML frontmatter when `format=context`.

- SearchResponse
  - `results_type` string, required: The type of results returned (e.g., `Search`, `News`, `Weather`, `Calculator`). Determines which optional response sections are present.
  - `answer` string, required: Instant answer for the query when one is found — for example a definition, a weather line or a calculation — otherwise an empty string. On news feeds, a short summary of the headlines when available.
  - `type` string, required: Same as `results_type`. Indicates the category of results.
  - `title` string, required: Your query text (for a news feed, the feed's description).
  - `results` SearchResult[], required: Array of search results.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `metrics` Metrics, required: Search performance metrics. Always included in the response.
    - `query` string: The query as processed.
    - `intent` string: The detected or forced search intent.
    - `timestamp` string: Timestamp of the search request.
    - `duration` number: Total request duration in milliseconds.
    - `queries_executed` integer: Number of search queries executed.
    - `api_requests_count` integer: Number of queries in your request (the same as `queries_executed`).
    - `results_returned` integer: Number of results returned in this response.
    - `total_results_found` integer: Rough estimate of matching pages, as reported by sources (0 for news feeds).
    - `queries_provided` integer: Number of queries you sent. Only present when more than 5 were sent.
    - `queries_truncated` integer: How many queries were dropped because only the first 5 run. Only present when more than 5 were sent.
    - `cached` boolean: Whether the response was served from cache. Only present on cache hits.
    - `cache_age_seconds` integer: Age of the cached response in seconds. Only present on cache hits.
    - `cost_dollars` number: Amount charged to your account for this request in USD, after any discounts. Pricing is outcome-based — each request is charged for the work performed and the content delivered, whether the effort was set automatically (`auto`) or pinned with a fixed mode.
    - `effort` 'low' | 'medium' | 'high' | 'max': Resolved effort tier for this request — the tier `auto` mode selected, or the one pinned via `searchMode`/`effort`.
    - `response_time_ms` integer: Total server response time in milliseconds.
  - `correctedQuery` string: Spell-corrected query. Present when a misspelling in the original query is detected and corrected — any mode can return it; deep and exhaustive modes run the strongest spell correction.
  - `related_searches` string[]: Related search suggestions. Present on some queries.
  - `topics` string[]: Related topics. Present on some queries.
  - `related_topics` string[]: Related topic names for entity answers.
  - `infobox` object: Facts panel for an entity answer.
    - `heading` string
    - `source` string
    - `items` object[]
      - `label` string
      - `value` string
  - `disambiguation` object: Possible meanings when the query is ambiguous.
    - `query` string
    - `message` string
    - `options` object[]
      - `title` string
      - `text` string
      - `url` string, uri
  - `aiSummary` object: A pre-written news summary. News feeds return it, and so does search when the query asks for a whole feed (for example "latest technology news" or "hacker news"), but not for a topic inside a feed ("nfl news"). On news feeds the same text is in `answer`; on search, `answer` can hold something else, such as a description of the site.
    - `text` string: The summary, as markdown.
    - `generatedAt` string, date-time: When the summary was written.
    - `model` string: A short label for the summary's source.
    - `mode` 'pregen': `pregen` means the summary was written ahead of your request.
  - `locale` object: The language and country Andi searched for. Present on every search response (not on news feeds). With `format=context`, the same values appear in the frontmatter as `language`, `language_confidence`, `language_source`, `country` and `local_scope`.
    - `language` string, required: ISO 639-1 code of the query language, or `und` when unknown.
    - `languageConfidence` number, required: Confidence in `language`, from 0 to 1.
    - `languageSource` 'param' | 'script' | 'jev' | 'none', required: Where `language` came from: `param` (you stated it), `script` (the query's writing system named it), `jev` (detected from the words), or `none`.
    - `country` string: ISO 3166-1 country code the search was scoped to. Left out when unknown.
    - `localScope` 'global' | 'country' | 'city': How much the answer depends on the searcher's place. Left out when not judged.
  - `safeSearch` object: Echo of the safe-search state. Present on cache misses. Use it to confirm your `safe` parameter was honored.
    - `requested` 'off' | 'moderate' | 'strict'
    - `applied` 'off' | 'moderate' | 'strict'
  - `videos` SearchResult[]: Video results, when the search found any.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `images` ImageResult[]: Image results, when the search found any.
    - `title` string, required: Image title or alt text.
    - `link` string, uri, required: URL of the page containing the image.
    - `image` string, uri, required: Direct URL of the full-size image.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'image', required: Always `image`.
    - `thumbnail` string, uri: Thumbnail URL.
    - `width` string: Image width in pixels (as a string).
    - `height` string: Image height in pixels (as a string).
  - `news` SearchResult[]: News stories, when the search found any. Front pages, section pages, topic pages and listing pages are in `categories`, not here.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `citations` SearchResult[]: Rows an answer cites, in the same shape as `results`. When a search names a whole curated news feed (for example "headlines" or "latest news from hacker news") and the response carries the feed's `aiSummary`, this lists the stories the summary cites in the summary's order, then the feed's other stories, up to `limit`. Left out when empty. Not on `/api/v1/news`.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `categories` SearchResult[]: News front pages, section pages, topic or tag pages, listing pages and site-search pages. `results` still holds them too. Left out when empty. Not on `/api/v1/news`.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `places` SearchResult[]: Place and business results, when the search found any.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `profiles` SearchResult[]: People and entity profiles, when the search found any.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `social` SearchResult[]: Social posts, when the search found any.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `academic` SearchResult[]: Scholarly papers, when the search found any.
    - `title` string, required: Page title.
    - `link` string, uri, required: Page URL.
    - `desc` string, required: Page description or summary.
    - `source` string, required: Site or publisher name (for example `Wikipedia`); a name derived from the domain when none is known.
    - `type` 'website' | 'blog' | 'news' | 'video' | 'image' | 'place' | 'profile' | 'social' | 'academic' | 'calculation' | 'weather' | 'computation' | 'instant answer': Result type. Only included when `metadata=full`.
    - `date` string: Publication date of the content, when available.
    - `dateModified` string: When the page was last updated, if known.
    - `image` string, uri: Preview image URL, when available. Only included when `metadata=full`.
    - `snippet` string: Query-relevant text excerpt from the page. Distinct from `desc`, which is the general page description.
    - `answer` string: Inline answer for instant answer results.
    - `extracts` string[]: Query-relevant passages from the page. Returned with `extracts=true`, and by default with `format=context`, `content=true` and `metadata=full`.
    - `contentType` string: Content type of the page. Only included when `metadata=full`.
    - `reader` object: Extracted page content and metadata. Included with `metadata=full`; with `content=true` it holds the full page text in `reader.markdown` (or `reader.content`) at any metadata level.
    - `contentSafety` object: Safety classification. Only included when `metadata=full`.
      - `rating` 'safe' | 'unsafe' | 'unknown': Content safety rating.
      - `safeSearchApplied` boolean: Whether safe-search filtering was applied to this result.
    - `bang` string: Bang shortcut for the result domain. Only included when `metadata=full`.
    - `queryIndices` integer[]: Multi-query only: which of your queries (0-based) found this result.
    - `language` string: The page's language as a lower-case primary tag, for example `fr`. Left out when unknown.
    - `site_country` string: ISO 3166-1 country code named by the site's country-code domain, for example `DE` for `.de`. Generic domains such as `.com` have none.
    - `seeAlso` object[]: News feeds only: other outlets covering the same story.
      - `title` string
      - `url` string, uri
      - `source` string
  - `weather` WeatherResult
    - `location` object, required: Location details.
      - `name` string: Location name.
      - `country` string: Country name or code.
      - `coordinates` object
        - `latitude` number
        - `longitude` number
    - `temperature` number, required: Current temperature.
    - `feelsLike` number: Feels-like temperature.
    - `units` 'metric' | 'imperial', required: Unit system: `metric` or `imperial`.
    - `description` string, required: Weather condition description.
    - `humidity` number: Humidity percentage.
    - `windSpeed` number: Wind speed.
    - `windDirection` number: Wind direction in degrees.
    - `pressure` number: Atmospheric pressure.
    - `icon` string: Weather icon identifier.
    - `cloudiness` number: Cloud cover percentage.
    - `visibility` number: Visibility distance.
    - `timestamp` integer: Time of the reading, Unix epoch milliseconds.
  - `calculation` CalculationResult
    - `expression` string, required: The mathematical expression.
    - `result` string, required: The calculated result.
    - `rawResult` unknown

## Other responses

- `400`: Bad request — missing or invalid parameters
- `401`: Unauthorized — missing or invalid API key
- `402`: Insufficient credits — account balance depleted
- `429`: Rate limit exceeded
- `500`: Internal server error

## Changes

- **2026-11-01** `fcda359bd8c6`: 1 breaking, 1 warning, 20 info
  - for the `query` request parameter `language`, default value `en` was removed
  - for the `query` request parameter `language`, the maxLength was set to `13`
  - added the new optional `query` request parameter `languageMode`
  - added the optional property `academic/items/language` to the response with the `200` status
  - …18 more
- **2026-11-01** `44266783bfc1`: 2 info
  - added the optional property `categories` to the response with the `200` status
  - added the optional property `citations` to the response with the `200` status
- **2026-10-29** `0f394ac8b1bb`: 2 breaking, 4 info
  - the `query` request parameter `content` was restricted to a list of enum values
  - for the `query` request parameter `content`, default value was changed from `false` to `false`
  - added the new enum value `false` to the `query` request parameter `content`
  - added the new enum value `focused` to the `query` request parameter `content`
  - …2 more
- **2026-09-29** `7b56c4c1c3ea`: 1 breaking, 1 warning, 29 info
  - the `weather/timestamp` response's property type changed from `string` to `integer` for status `200`
  - removed the optional property `metrics/timing` from the response with the `200` status
  - added the optional property `academic/items/dateModified` to the response with the `200` status
  - added the optional property `academic/items/queryIndices` to the response with the `200` status
  - …27 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/andiai/apis/andi-ai-search-api/changes/api/v1/search/get.md)

---

[API](https://skmtc.dev/andiai/apis/andi-ai-search-api.md) - [All operations](https://skmtc.dev/andiai/apis/andi-ai-search-api/llms.txt) - [OpenAPI document](https://skmtc.dev/andiai/apis/andi-ai-search-api/revisions/fcda359bd8c6?raw)
