---
title: "Search articles by title words, another name of the subject, or a misspelling"
method: GET
path: "/search"
---

# Search articles by title words, another name of the subject, or a misspelling

`GET /search`

## Request

- Base URL: `https://www.edgechat.ai/api/v1`
- URL: `https://www.edgechat.ai/api/v1/search`
- Auth: none declared

Matches article titles and other names of the subject; not full text. Pass a subject's name ('Mount Fuji'), not a question. Then call getArticle with a result's slug. Words that name a topic also return `topics`. A page past the end has empty results; pages reach 1,000 results deep.

## Query parameters

- `q` string, required
- `limit` integer
- `page` integer
- `first` boolean
- `topic` string
- `geo` string
- `sort` 'relevance' | 'central'
- `max_grade` number
- `facets` '1'
- `fields` string

## Response `200`

Matching articles, best first

- SearchResponse
  - `query` string
  - `did_you_mean` string
  - `topics` Topic[]: On page 1, when the words name a topic ('science fiction writers'): that topic. Its articles are at its `api_url`; a title search finds few of them.
    - `id` string, required
    - `label` string, required
    - `articles` integer
    - `api_url` string, uri, required
  - `total` integer
  - `page` integer
  - `pages` integer
  - `results` object[]: Title, alias, and misspelling matches first; when no title shares a word with the query, articles whose text matches follow (match: fulltext), counted in total and pages and never repeated across pages.
    - `id` string, required
    - `slug` string, required
    - `title` string, required
    - `topic` string, nullable: The top-level branch of the topic tree the article is under. Its own topic is the last entry of the article's `topic_path`.
    - `excerpt` string, required: The corpus snippet when available, otherwise the article opening as plain text. Older listing excerpts may end in an ellipsis (…).
    - `url` string, uri, required
    - `markdown_url` string, uri, required
    - `api_url` string, uri, required
    - `snippet` string: Optional corpus-authored summary, separate from the article opening. Present on corpus-v1.5 articles and their preview results.
    - `node` string: Current concept-tree node of the article, when available. May change when the corpus tree is revised.
    - `match` 'fulltext': On a result found in the articles' text (BM25) because no title or alias matched.
    - `confidence` number: A fixed rule, not a calibrated probability (see /developers).
    - `highlight` string: The sentence of the summary or opening holding the most query words.
    - `importance` number: 0 to 1; PageRank over the in-text links, as a percentile. A link count, not a judgment.
    - `rank` integer: 1 = most central
    - `words` integer
    - `reading_grade` number: Flesch-Kincaid grade
    - `reading_minutes` integer
  - `license` License
    - `name` string, required
    - `url` string, uri, required
    - `summary` string
    - `spdx` string
  - `match` 'exact' | 'alias' | 'misspelling' | 'partial' | 'none' | 'fulltext'
  - `searched_as` string: The transliterated query that ran, when the query as typed found nothing.
  - `scope` string
  - `facets` object
    - `topic` object[]
      - `id` string
      - `label` string
      - `count` integer
      - `api_url` string
    - `geo` object[]
      - `id` string
      - `label` string
      - `count` integer
      - `api_url` string
    - `counted` object
      - `topic` integer
      - `geo` integer

## Other responses

- `400`: An error: a missing or invalid parameter, or `unknown_parameter` for a parameter this route does not read.
- `405`: `method_not_allowed`: the API is read-only; use GET or HEAD (OPTIONS answers CORS preflights). The `Allow` header lists the methods.
- `429`: An error
- `503`: Briefly unavailable; try again

---

[API](https://skmtc.dev/edgechat/apis/edgepedia-api.md) · [All operations](https://skmtc.dev/edgechat/apis/edgepedia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/edgechat/apis/edgepedia-api/revisions/cd4eb5972d56?raw)
