Pages

The GitHub Pages API retrieves information about your GitHub Pages configuration, and the statuses of your builds. Information about the site and the builds can only be accessed by authenticated owners, even though the websites are public.

In JSON responses, status can be one of:

  • null, which means the site has yet to be built
  • queued, which means the build has been requested but not yet begun
  • building, which means the build is in progress
  • built, which means the site has been built
  • errored, which indicates an error occurred during the build

Get information about a Pages site

GET /repos/:owner/:repo/pages

Note: The GitHub Pages API on GitHub is currently available for developers to preview. To access the API, you must provide a custom media type in the Accept header:

application/vnd.github.mister-fantastic-preview+json

Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use. If you experience any issues, contact GitHub support.

Responses during the preview period contain two additional fields:

  • html_url: The absolute URL (with scheme) to the rendered site. For example, https://username.github.io.
  • source: Information about the source branch and directory for the rendered site. The source field includes:
    • branch: The repo branch for site source files For example, master or gh-pages.
    • path: The repo directory from which the site publishes. Can be either / or /docs.

Response

Status: 200 OK
{
  "url": "https://api.github.com/repos/github/developer.github.com/pages",
  "status": "built",
  "cname": "developer.github.com",
  "custom_404": false,
  "html_url": "https://developer.github.com",
  "source": {
    "branch": "master",
    "directory": "/"
  }
}

Request a page build

POST /repos/:owner/:repo/pages/builds

This endpoint is currently available for developers to preview. During the preview period, the API may change without advance notice.

To access this endpoint during the preview period, you must provide a custom media type in the Accept header:

  application/vnd.github.mister-fantastic-preview+json

You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures.

Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.

Response

Status: 200 OK
{
  "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/latest",
  "status": "queued"
}

List Pages builds

GET /repos/:owner/:repo/pages/builds
Status: 200 OK
Link: <https://api.github.com/resource?page=2>; rel="next",
      <https://api.github.com/resource?page=5>; rel="last"
[
  {
    "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601",
    "status": "built",
    "error": {
      "message": null
    },
    "pusher": {
      "login": "octocat",
      "id": 1,
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "gravatar_id": "",
      "url": "https://api.github.com/users/octocat",
      "html_url": "https://github.com/octocat",
      "followers_url": "https://api.github.com/users/octocat/followers",
      "following_url": "https://api.github.com/users/octocat/following{/other_user}",
      "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
      "organizations_url": "https://api.github.com/users/octocat/orgs",
      "repos_url": "https://api.github.com/users/octocat/repos",
      "events_url": "https://api.github.com/users/octocat/events{/privacy}",
      "received_events_url": "https://api.github.com/users/octocat/received_events",
      "type": "User",
      "site_admin": false
    },
    "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b",
    "duration": 2104,
    "created_at": "2014-02-10T19:00:49Z",
    "updated_at": "2014-02-10T19:00:51Z"
  }
]

List latest Pages build

GET /repos/:owner/:repo/pages/builds/latest
Status: 200 OK
{
  "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601",
  "status": "built",
  "error": {
    "message": null
  },
  "pusher": {
    "login": "octocat",
    "id": 1,
    "avatar_url": "https://github.com/images/error/octocat_happy.gif",
    "gravatar_id": "",
    "url": "https://api.github.com/users/octocat",
    "html_url": "https://github.com/octocat",
    "followers_url": "https://api.github.com/users/octocat/followers",
    "following_url": "https://api.github.com/users/octocat/following{/other_user}",
    "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
    "organizations_url": "https://api.github.com/users/octocat/orgs",
    "repos_url": "https://api.github.com/users/octocat/repos",
    "events_url": "https://api.github.com/users/octocat/events{/privacy}",
    "received_events_url": "https://api.github.com/users/octocat/received_events",
    "type": "User",
    "site_admin": false
  },
  "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b",
  "duration": 2104,
  "created_at": "2014-02-10T19:00:49Z",
  "updated_at": "2014-02-10T19:00:51Z"
}

List a specific Pages build

GET /repos/:owner/:repo/pages/builds/:id
Status: 200 OK
{
  "url": "https://api.github.com/repos/github/developer.github.com/pages/builds/5472601",
  "status": "built",
  "error": {
    "message": null
  },
  "pusher": {
    "login": "octocat",
    "id": 1,
    "avatar_url": "https://github.com/images/error/octocat_happy.gif",
    "gravatar_id": "",
    "url": "https://api.github.com/users/octocat",
    "html_url": "https://github.com/octocat",
    "followers_url": "https://api.github.com/users/octocat/followers",
    "following_url": "https://api.github.com/users/octocat/following{/other_user}",
    "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
    "organizations_url": "https://api.github.com/users/octocat/orgs",
    "repos_url": "https://api.github.com/users/octocat/repos",
    "events_url": "https://api.github.com/users/octocat/events{/privacy}",
    "received_events_url": "https://api.github.com/users/octocat/received_events",
    "type": "User",
    "site_admin": false
  },
  "commit": "351391cdcb88ffae71ec3028c91f375a8036a26b",
  "duration": 2104,
  "created_at": "2014-02-10T19:00:49Z",
  "updated_at": "2014-02-10T19:00:51Z"
}