REST API endpoints for Markdown

Use the REST API to render a markdown document as an HTML page or as raw text.

Note

Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.

Render a Markdown document

POST /markdown

Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as issues:read or pull_requests:read.

Parameters

Headers

Body parameters

HTTP response status codes

Code examples

Rendering markdown

Request:

curl -L \
  -X POST \
  https://api.github.com/markdown \
  -H "Accept: text/html" \
  -d '{
  "text": "Hello **world**"
}'

Response schema (Status: 200):

string

Render a Markdown document in raw mode

POST /markdown/raw

You must send Markdown as plain text (using a Content-Type header of text/plain or text/x-markdown) to this endpoint, rather than using JSON format. In raw mode, GitHub Flavored Markdown is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X POST \
  https://api.github.com/markdown/raw \
  -H "Accept: text/html" \
  -H "Content-Type: text/plain" \
  --data-binary 'Hello **world**'

Response schema (Status: 200):

Same response schema as Render a Markdown document.

Rendering markdown

Request:

curl -L \
  -X POST \
  https://api.github.com/markdown/raw \
  -H "Accept: text/html" \
  -H "Content-Type: text/x-markdown" \
  --data-binary 'Hello **world**'

Response schema (Status: 200):

Same response schema as Render a Markdown document.