Skip to content

Latest commit

 

History

History
112 lines (71 loc) · 5.36 KB

File metadata and controls

112 lines (71 loc) · 5.36 KB
title GitHub Docs API
intro Use the official {% data variables.product.prodname_docs %} API to programmatically list pages, search, and retrieve {% data variables.product.company_short %} documentation content.
versions
fpt ghes ghec
*
*
*
shortTitle GitHub Docs API
category
Explore GitHub plans and features

{% data variables.product.prodname_docs %} provides several ways to access documentation content programmatically. You can retrieve individual articles as Markdown, list all available pages, search across the documentation, or point AI agents to the llms.txt file for content discovery.

Article endpoint

The Article endpoint returns the Markdown content and metadata of any {% data variables.product.prodname_docs %} page. It supports all page types, including standard articles, REST API reference pages, GraphQL reference pages, and landing pages.

The Article endpoint accepts the following query parameter:

  • pathname (required): The article path, including a language prefix such as /en/ or /ja/.
    • For example, /en/get-started/start-your-journey/about-github-and-git.

In addition, GET /api/article and GET /api/article/body accept the following optional query parameter:

  • apiVersion: For REST API reference pages, specifies which API version to use. Defaults to the latest version.

Getting article content

GET https://docs.github.com/api/article/body returns the full article content as Markdown.

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

To access a versioned article (for example, for {% data variables.product.prodname_ghe_cloud %}), include the version in the path:

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

Getting article metadata

GET https://docs.github.com/api/article/meta returns metadata about an article as JSON, including the title, intro, product area, document type, and breadcrumbs.

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

Getting content and metadata together

GET https://docs.github.com/api/article returns both metadata and the article body in a single JSON response, combining the results of the body and meta endpoints.

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

Pagelist endpoint

The Pagelist endpoint returns a list of every available page path for a given language and documentation version. You can use it to discover all articles, then fetch individual articles with the Article endpoint.

Listing all pages

GET https://docs.github.com/api/pagelist/:lang/:version returns a newline-separated list of all page paths for the specified language and version.

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

Languages list

GET https://docs.github.com/api/pagelist/languages returns all available language codes as JSON. Use this to find valid values for the :lang parameter above.

Versions list

GET https://docs.github.com/api/pagelist/versions returns all available documentation versions as JSON, including {% data variables.product.prodname_ghe_server %} version numbers. Use this to find valid values for the :version parameter above.

Search endpoint

The Search endpoint lets you search across all {% data variables.product.prodname_docs %} content. It returns results sorted by relevance, with highlights and metadata for each matching page.

Searching docs content

GET https://docs.github.com/api/search/v1 accepts the following query parameters:

  • query (required): The search term.
  • client_name (required for external clients such as curl): A name that identifies your client or integration.
  • version (optional): The documentation version to search. Defaults to free-pro-team. Valid values include free-pro-team, enterprise-cloud, and {% data variables.product.prodname_ghe_server %} version numbers like 3.19.
  • language (optional): The language to search. Defaults to en.
  • page (optional): The page number for paginated results. Defaults to 1.
  • size (optional): The number of results per page, up to a maximum of 50. Defaults to 10.
curl "https://docs.github.com/api/search/v1?query=actions&client_name=docs-api-example&version=free-pro-team&language=en"

The response includes a meta object with information about the total number of matches and a hits array containing the matched pages with titles, URLs, breadcrumbs, and content highlights.

llms.txt for AI agents

{% data variables.product.prodname_docs %} publishes an llms.txt file at https://docs.github.com/llms.txt, following the llms.txt standard. This file provides a structured overview of the documentation site designed for consumption by LLMs and AI-powered tools.

If you are building an agent or tool that needs to access {% data variables.product.prodname_docs %}, llms.txt is the recommended starting point for discovering available content and API endpoints.

{% ifversion fpt or ghec %}

Further reading

{% endif %}