# API GitHub Docs

Use a API oficial GitHub Docs para listar programaticamente páginas, pesquisar e recuperar GitHub conteúdo da documentação.

<!-- markdownlint-disable search-replace -->

GitHub Docs fornece várias maneiras de acessar o conteúdo da documentação programaticamente. Você pode recuperar artigos individuais como Markdown, listar todas as páginas disponíveis, pesquisar na documentação ou apontar agentes de IA para o `llms.txt` arquivo para descoberta de conteúdo.

## Ponto de extremidade do artigo

O endpoint Article retorna o conteúdo em Markdown e os metadados de qualquer página GitHub Docs. Ele dá suporte a todos os tipos de página, incluindo artigos padrão, páginas de referência da API REST, páginas de referência do GraphQL e páginas de aterrissagem.

O endpoint Article aceita o seguinte parâmetro de consulta:

* `pathname` (obrigatório): o caminho do artigo, incluindo um prefixo de idioma como `/en/` ou `/ja/`.
  * Por exemplo, `/en/get-started/start-your-journey/about-github-and-git`.

Além disso, `GET /api/article` e `GET /api/article/body` aceitam o seguinte parâmetro de consulta opcional:

* `apiVersion`: para páginas de referência da API REST, especifica qual versão da API usar. Usa a versão mais recente por padrão.

### Obtendo conteúdo do artigo

`GET https://docs.github.com/api/article/body` retorna o conteúdo completo do artigo como Markdown.

```shell
curl "https://docs.github.com/api/article/body?pathname=/en/get-started/start-your-journey/about-github-and-git"
```

Para acessar um artigo com versão (por exemplo, para GitHub Enterprise Cloud), inclua a versão no caminho:

```shell
curl "https://docs.github.com/api/article/body?pathname=/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud"
```

### Obtendo metadados de artigo

`GET https://docs.github.com/api/article/meta` retorna metadados sobre um artigo em formato JSON, incluindo o título, a introdução, a área de produto, o tipo de documento e a trilha de navegação.

```shell
curl "https://docs.github.com/api/article/meta?pathname=/en/get-started/start-your-journey/about-github-and-git"
```

### Obtendo conteúdo e metadados juntos

`GET https://docs.github.com/api/article` retorna tanto os metadados quanto o corpo do artigo em uma única resposta JSON, combinando os resultados dos endpoints de corpo e de metadados.

```shell
curl "https://docs.github.com/api/article?pathname=/en/get-started/start-your-journey/about-github-and-git"
```

## Ponto de extremidade da lista de páginas

O endpoint Pagelist retorna uma lista de todos os caminhos de página disponíveis para um determinado idioma e uma determinada versão da documentação. Você pode usá-lo para localizar todos os artigos e, em seguida, recuperar artigos individuais com o endpoint Article.

### Listagem de todas as páginas

`GET https://docs.github.com/api/pagelist/:lang/:version` exibe uma lista separada por nova linha de todos os caminhos de página para o idioma e a versão especificados.

```shell
curl "https://docs.github.com/api/pagelist/en/free-pro-team@latest"
```

#### Lista de idiomas

`GET https://docs.github.com/api/pagelist/languages` retorna todos os códigos de idioma disponíveis como JSON. Use isso para localizar valores válidos para o `:lang` parâmetro acima.

#### Lista de versões

`GET https://docs.github.com/api/pagelist/versions` retorna todas as versões de documentação disponíveis como JSON, incluindo números de GitHub Enterprise Server versão. Use isso para localizar valores válidos para o `:version` parâmetro acima.

## Endpoint de pesquisa

O endpoint de busca permite pesquisar em todo o conteúdo GitHub Docs. Retorna resultados classificados por relevância, com realces e metadados para cada página correspondente.

### Pesquisando conteúdo de documentos

`GET https://docs.github.com/api/search/v1` aceita os seguintes parâmetros de consulta:

* `query` (obrigatório): o termo de pesquisa.
* `client_name` (necessário para clientes externos, como `curl`): um nome que identifica seu cliente ou integração.
* `version` (opcional): a versão da documentação a ser pesquisada. Usa `free-pro-team` como padrão. Os valores válidos incluem `free-pro-team`, `enterprise-cloud`e GitHub Enterprise Server números de versão como `3.19`.
* `language` (opcional): o idioma a ser pesquisado. Usa `en` como padrão.
* `page` (opcional): o número da página para resultados paginados. Usa `1` como padrão.
* `size` (opcional): o número de resultados por página, até um máximo de `50`. Usa `10` como padrão.

```shell
curl "https://docs.github.com/api/search/v1?query=actions&client_name=docs-api-example&version=free-pro-team&language=en"
```

A resposta inclui um objeto `meta` com informações sobre o número total de correspondências e um array `hits` contendo as páginas encontradas com títulos, URLs, trilhas de navegação e trechos destacados do conteúdo.

## `llms.txt` para agentes de IA

GitHub Docs publica um `llms.txt` arquivo em `https://docs.github.com/llms.txt`, seguindo o [`llms.txt` padrão](https://llmstxt.org/). Este arquivo fornece uma visão geral estruturada do site de documentação projetado para ser consumido por LLMs e ferramentas baseadas em IA.

Se você estiver criando um agente ou uma ferramenta que precisa acessar GitHub Docs, `llms.txt` será o ponto de partida recomendado para descobrir o conteúdo disponível e os pontos de extremidade de API.