---
title: "Get a curated news feed"
method: GET
path: "/api/v1/news/{topic}"
---

# Get a curated news feed

`GET /api/v1/news/{topic}`

## Request

- Base URL: `https://api.andiai.com`
- URL: `https://api.andiai.com/api/v1/news/{topic}`
- Auth: API key in header `x-api-key`

Returns a curated, ranked news feed for a fixed topic. The topic path segment selects the feed; an optional `q` filters it by keyword. `results` are ordered by relevance (a semantic pass tuned to the topic, weighted toward fresher articles); `news` holds the same articles in strict reverse-chronological order. `images` includes article images when available. When a pre-written brief exists for the topic it is returned in `aiSummary` (also in `answer`); a response to a `q` request carries no brief. Choose the output with `format`: `json` (default), `context` (markdown for LLMs), `rss` (RSS 2.0), `embed` (an HTML widget) or `ticker` (a scrolling headline bar). Links that cannot send a header, such as an `<iframe>` or a feed reader, use a feed key in the `key` query parameter with `rss`, `embed` or `ticker`. `GET /api/v1/news` lists the topics.

## Path parameters

- `topic` 'technology' | 'business' | 'finance' | 'politics' | 'sports' | 'health' | 'science' | 'world' | 'entertainment' | 'us' | 'europe' | 'uk' | 'asia' | 'middle-east' | 'africa' | 'latin-america' | 'australia' | 'programming' | 'startups' | 'media' | 'crypto' | 'legal' | 'space' | 'top' | 'hn-frontpage' | 'ai-news' | 'tech-news', required

## Query parameters

- `limit` integer
- `format` 'json' | 'context' | 'rss' | 'embed' | 'ticker'
- `q` string
- `query` string
- `hours` integer
- `lang` string
- `summary` boolean
- `detail` 'full'
- `extracts` boolean
- `content` boolean
- `maxContentLength` integer
- `metadata` 'basic' | 'full'
- `title` string
- `tz` string
- `theme` 'light' | 'dark'
- `speed` integer
- `label` string
- `key` string
- `noCache` boolean

## Response `200`

Curated news feed in the requested `format`.

- 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`: Invalid parameter: an unknown `format` or a `q` longer than 200 characters.
- `401`: Unauthorized — missing or invalid API key
- `402`: Insufficient credits — account balance depleted
- `403`: Not allowed. Either a feed key was used for something it does not cover (another endpoint, `format=json` or `context`, or no `format`), or a full API key was put in the URL.
- `404`: Unknown topic. The response includes the full list of valid topic slugs.
- `429`: Rate limit exceeded
- `502`: The `embed` or `ticker` widget could not be produced safely. Retry shortly or use another format. For these two formats the body is a short HTML message instead of JSON.
- `503`: The feed is temporarily unavailable. Retriable.

## Changes

- **2026-11-01** `fcda359bd8c6`: 19 info
  - added the optional property `academic/items/language` to the response with the `200` status
  - added the optional property `academic/items/site_country` to the response with the `200` status
  - added the optional property `categories/items/language` to the response with the `200` status
  - added the optional property `categories/items/site_country` to the response with the `200` status
  - …15 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-22** `6526c07a4b7b`: 7 info
  - added the new optional `query` request parameter `key`
  - added the new optional `query` request parameter `label`
  - added the new optional `query` request parameter `query`
  - added the new optional `query` request parameter `speed`
  - …3 more
- **2026-10-19** `d73dbd5bfd0b`: 18 info
  - added the new optional `query` request parameter `content`
  - added the new optional `query` request parameter `detail`
  - added the new optional `query` request parameter `extracts`
  - added the new optional `query` request parameter `format`
  - …14 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/andiai/apis/andi-ai-search-api/changes/api/v1/news/:topic/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)
