Create integrations, retrieve data, and automate your workflows with the GitHub REST API.
Quickstart for GitHub REST API
Learn how to get started with the GitHub REST API.
Getting started with the REST API
Learn how to use the GitHub REST API.
Authenticating to the REST API
You can authenticate to the REST API to access more endpoints and have a higher rate limit.
Best practices for using the REST API
Follow these best practices when using GitHub's API.
Learn about REST API rate limits, how to avoid exceeding them, and what to do if you do exceed them.
Keeping your API credentials secure
Follow these best practices to keep your API credentials and tokens secure.
Scripting with the REST API and JavaScript
Write a script using the Octokit.js SDK to interact with the REST API.
Learn how to diagnose and resolve common problems for the REST API.
Using pagination in the REST API
Learn how to navigate through paginated responses from the REST API.
Get oriented to the REST API documentation.
Quickstart for GitHub REST API
Learn how to get started with the GitHub REST API.
Quickstart for GitHub REST API
Learn how to get started with the GitHub REST API.
Get oriented to the REST API documentation.
Comparing GitHub's REST API and GraphQL API
Learn about GitHub's APIs to extend and customize your GitHub experience.
Learn how to specify which REST API version to use whenever you make a request to the REST API.
Learn about breaking changes that were introduced in each REST API version.
About the OpenAPI description for the REST API
The GitHub REST API is fully described in an OpenAPI compliant document.
Getting started with the REST API
Learn how to use the GitHub REST API.
Learn about REST API rate limits, how to avoid exceeding them, and what to do if you do exceed them.
Using pagination in the REST API
Learn how to navigate through paginated responses from the REST API.
You can use the official Octokit libraries and other third-party libraries to extend and simplify how you use the GitHub API.
Best practices for using the REST API
Follow these best practices when using GitHub's API.
Learn how to diagnose and resolve common problems for the REST API.
Some REST API endpoints allow you to specify timezone information with your request.
Using CORS and JSONP to make cross-origin requests
You can make API requests across domains using cross-origin resource sharing (CORS) and JSONP callbacks.
For the REST APIs for issue events and timeline events, learn about each event type, the triggering action on GitHub, and each event's unique properties.
For the GitHub Events API, learn about each event type, the triggering action on GitHub, and each event's unique properties.
Authenticating to the REST API
You can authenticate to the REST API to access more endpoints and have a higher rate limit.
Keeping your API credentials secure
Follow these best practices to keep your API credentials and tokens secure.
Endpoints available for GitHub App installation access tokens
Your GitHub App can make requests to the following REST endpoints with an installation access token.
Endpoints available for GitHub App user access tokens
Your GitHub App can make requests to the following REST endpoints with a user access token.
Endpoints available for fine-grained personal access tokens
Your fine-grained personal access token can make requests to the following REST endpoints.
Permissions required for GitHub Apps
For each permission granted to a GitHub App, these are the REST API endpoints that the app can use.
Permissions required for fine-grained personal access tokens
For each permission granted to a fine-grained personal access token, these are the REST API endpoints that the app can use.
Scripting with the REST API and JavaScript
Write a script using the Octokit.js SDK to interact with the REST API.
Scripting with the REST API and Ruby
Learn how to write a script using the Octokit.rb SDK to interact with the REST API.
Discovering resources for a user
Learn how to find the repositories and organizations that your app can access for a user in a reliable way for your authenticated requests to the REST API.
Using the Deployments REST API, you can build custom tooling that interacts with your server and a third-party app.
Learn how to visualize the programming languages from your repository using the D3.js library and Ruby Octokit.
Using the REST API, you can access and manage comments in your pull requests, issues, or commits.
Build your own CI system using the Status API.
Using the REST API to interact with your Git database
Use the REST API to read and write raw Git objects to your Git database on GitHub and to list and update your references (branch heads and tags).
Using the REST API to interact with checks
You can use the REST API to build GitHub Apps that run powerful checks against code changes in a repository. You can create apps that perform continuous integration, code linting, or code scanning services and provide detailed feedback on commits.
Encrypting secrets for the REST API
In order to create or update a secret with the REST API, you must encrypt the value of the secret.
REST API endpoints for GitHub Actions artifacts
Use the REST API to interact with artifacts in GitHub Actions.
REST API endpoints for GitHub Actions cache
Use the REST API to interact with the cache for repositories in GitHub Actions.
REST API endpoints for Actions concurrency groups
Use the REST API to view and manage concurrency groups for GitHub Actions workflows.
Use the REST API to interact with GitHub-hosted runners in GitHub Actions.
REST API endpoints for GitHub Actions OIDC
Use the REST API to interact with JWTs for OIDC subject claims in GitHub Actions.
REST API endpoints for GitHub Actions permissions
Use the REST API to interact with permissions for GitHub Actions.
REST API endpoints for GitHub Actions policies
Use the REST API to view and manage policies for GitHub Actions.
REST API endpoints for GitHub Actions Secrets
Use the REST API to interact with secrets in GitHub Actions.
REST API endpoints for self-hosted runner groups
Use the REST API to interact with self-hosted runner groups for GitHub Actions.
REST API endpoints for self-hosted runners
Use the REST API to interact with self-hosted runners in GitHub Actions.
REST API endpoints for GitHub Actions variables
Use the REST API to interact with variables in GitHub Actions.
REST API endpoints for workflow jobs
Use the REST API to interact with workflow jobs in GitHub Actions.
REST API endpoints for workflow runs
Use the REST API to interact with workflow runs in GitHub Actions.
REST API endpoints for workflows
Use the REST API to interact with workflows in GitHub Actions.
Use the REST API to interact with GitHub events.
Use the REST API to interact with GitHub feeds.
REST API endpoints for notifications
Use the REST API to manage GitHub notifications.
REST API endpoints for starring
Use the REST API to bookmark a repository.
REST API endpoints for watching
Use the REST API to subscribe to notifications for activity in a repository.
REST API endpoints for agent automations
Use the REST API to manage agent automations.
REST API endpoints for agent tasks
Use the REST API to start and manage Copilot cloud agent tasks
REST API endpoints for agent secrets
Use the REST API to manage secrets for agents.
REST API endpoints for variables
Use the REST API to manage variables.
REST API endpoints for GitHub Apps
Use the REST API to interact with GitHub Apps
REST API endpoints for GitHub App installations
Use the REST API to get information about GitHub App installations and perform actions within those installations.
REST API endpoints for GitHub Marketplace
Use the REST API to interact with GitHub Marketplace
REST API endpoints for OAuth authorizations
Use the REST API to interact with OAuth apps and OAuth authorizations of GitHub Apps
REST API endpoints for GitHub App webhooks
Use the REST API to interact with webhooks for OAuth apps
Use the REST API to get budget information.
Use the REST API to get billing usage information.
REST API endpoints for branches
Use the REST API to modify branches and their protection settings.
REST API endpoints for protected branches
Use the REST API to manage protected branches.
REST API endpoints for security campaigns
Use the REST API to create and manage security campaigns for your organization.
REST API endpoints for check runs
Use the REST API to manage check runs.
REST API endpoints for check suites
Use the REST API to manage check suites.
REST API endpoints for GitHub Classroom
Use the REST API to interact with GitHub Classroom.
REST API endpoints for code quality
Use the REST API to manage a code quality configuration.
REST API endpoints for code scanning
Use the REST API to retrieve and update code scanning alerts from a repository.
Use the REST API to create and manage security configurations for your organization.
REST API endpoints for codes of conduct
Use the REST API to get information about codes of conduct.
REST API endpoints for Codespaces
Use the REST API to manage GitHub Codespaces.
REST API endpoints for Codespaces organizations
Use the REST API to manage your organization members codespaces.
REST API endpoints for Codespaces organization secrets
Use the REST API to manage your organization-level Codespaces secrets.
REST API endpoints for Codespaces machines
Use the REST API to manage availability of machine types for a codespace.
REST API endpoints for Codespaces repository secrets
Use the REST API to manage secrets for repositories that the user has access to in a codespace.
REST API endpoints for Codespaces user secrets
Use the REST API manage secrets that the user has access to in a codespace.
REST API endpoints for collaborators
Use the REST API to manage collaborators for a repository.
REST API endpoints for repository invitations
Use the REST API to view and manage invitations to collaborate on a repository.
REST API endpoints for commits
Use the REST API to interact with commits.
REST API endpoints for commit comments
Use the REST API to interact with commit comments.
REST API endpoints for commit statuses
Use the REST API to interact with commit statuses.
REST API endpoints for Copilot cloud agent repository management
Use the REST API to manage repository-level settings for Copilot cloud agent.
REST API endpoints for Copilot cloud agent management
Use the REST API to manage settings for Copilot cloud agent.
REST API endpoints for Copilot content exclusion management
Use the REST API to manage Copilot content exclusion rules.
REST API endpoints for Copilot usage metrics
Use the REST API to view Copilot usage metrics.
REST API endpoints for Copilot user management
Use the REST API to manage the GitHub Copilot Business subscription for your organization.
Use the REST API to manage collaborators for Copilot Spaces.
REST API endpoints for Copilot Spaces
Use the REST API to manage Copilot Spaces and related resources.
REST API endpoints for Copilot Spaces resources
Use the REST API to interact with Copilot Spaces resources.
Use the REST API to revoke credentials that you have found exposed on GitHub or elsewhere.
REST API endpoints for Dependabot alerts
Use the REST API to interact with Dependabot alerts for a repository.
REST API endpoints for Dependabot repository access
Use the REST API to manage which repositories Dependabot can access within an organization.
REST API endpoints for Dependabot secrets
Use the REST API to manage Dependabot secrets for an organization or repository.
REST API endpoints for dependency review
Use the REST API to interact with dependency changes.
REST API endpoints for dependency submission
Use the REST API to submit dependencies.
REST API endpoints for software bill of materials (SBOM)
Use the REST API to export the software bill of materials (SBOM) for a repository.
REST API endpoints for deploy keys
Use the REST API to create and manage deploy keys.
REST API endpoints for deployment branch policies
Use the REST API to manage custom deployment branch policies.
REST API endpoints for deployments
Use the REST API to create and delete deployments and deployment environments.
REST API endpoints for deployment environments
Use the REST API to create, configure, and delete deployment environments.
REST API endpoints for protection rules
Use the REST API to create, configure, and delete deployment protection rules.
REST API endpoints for deployment statuses
Use the REST API to manage deployment statuses.
Use the REST API to list and view all the available emojis to use on GitHub.
Use the REST API to list, create, update and delete the public gists on GitHub.
REST API endpoints for gist comments
Use the REST API to view and modify comments on a gist.
REST API endpoints for Git blobs
Use the REST API to interact with a Git blob (binary large object), the object type used to store the contents of each file in a repository.
REST API endpoints for Git commits
Use the REST API to interact with commit objects in your Git database on GitHub.
REST API endpoints for Git references
Use the REST API to interact with references in your Git database on GitHub
REST API endpoints for Git tags
Use the REST API to interact with tag objects in your Git database on GitHub.
REST API endpoints for Git trees
Use the REST API to interact with tree objects in your Git database on GitHub.
REST API endpoints for gitignore
Use the REST API to get .gitignore templates that can be used to ignore files and directories.
REST API endpoints for organization interactions
Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in the organization's public repositories.
REST API endpoints for repository interactions
Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in a public repository.
REST API endpoints for user interactions
Use the REST API to temporarily restrict which type of user can comment, open issues, or create pull requests in your public repositories.
REST API endpoints for issue assignees
Use the REST API to manage assignees on issues and pull requests.
REST API endpoints for issue comments
Use the REST API to manage comments on issues and pull requests.
REST API endpoints for issue events
Use the REST API to retrieve events triggered by activity in issues and pull requests.
REST API endpoints for issue dependencies
Use the REST API to view, add, and remove issue dependencies.
REST API endpoints for issue field values
Use the REST API to view and manage issue field values for issues.
Use the REST API to manage issues and pull requests.
Use the REST API to manage labels for repositories, issues and pull requests.
REST API endpoints for milestones
Use the REST API to manage milestones.
REST API endpoints for sub-issues
Use the REST API to view, add, remove, and reprioritize sub-issues.
REST API endpoints for timeline events
Use the REST API to receive events triggered by timeline activity in issues and pull requests.
REST API endpoints for licenses
Use the REST API to retrieve popular open source licenses and information about a particular project's license file.
REST API endpoints for Markdown
Use the REST API to render a markdown document as an HTML page or as raw text.
REST API endpoints for meta data
Use the REST API to get meta information about GitHub, including the IP addresses of GitHub services.
REST API endpoints for community metrics
Use the REST API to retrieve information about your community profile.
REST API endpoints for repository statistics
Use the REST API to fetch the data that GitHub uses for visualizing different types of repository activity.
REST API endpoints for repository traffic
Use the REST API to retrieve information provided in your repository graph.
REST API endpoints for organization migrations
Use the REST API to export one or more repositories so you can move them to GitHub Enterprise Server.
REST API endpoints for source imports
Use the REST API to start an import from a Git source repository.
REST API endpoints for user migrations
Use the REST API to review, backup, or migrate your user data stored on GitHub.
REST API endpoints for API Insights
Use the REST API to view statistics for API usage in an organization.
REST API endpoints for artifact metadata
Use these endpoints to retrieve and manage metadata for artifacts in your organization. Artifact metadata provides information about build artifacts, their provenance, and related details.
REST API endpoints for artifact attestations
Use the REST API to interact with artifact attestations.
REST API endpoints for blocking users
Use the REST API to block and unblock users in an organization.
REST API endpoints for custom properties
Use the REST API to create and manage custom properties for an organization.
REST API endpoints for issue fields
Use the REST API to create and manage issue fields for an organization.
REST API endpoints for issue types
Use the REST API to interact with issue types in an organization.
REST API endpoints for organization members
Use the REST API to manage memberships in your organization.
REST API endpoints for network configurations
REST API endpoints for network configurations
REST API endpoints for organization roles
Use the REST API to interact with organization roles.
REST API endpoints for organizations
Use the REST API to interact with organizations.
REST API endpoints for outside collaborators
Use the REST API to manage outside collaborators.
REST API endpoints for personal access tokens
Use the REST API to manage fine-grained personal access tokens.
REST API endpoints for rule suites
Use the REST API to manage rule suites for organizations.
Use the REST API to manage rulesets for organizations. Organization rulesets control how people can interact with selected branches and tags in repositories in an organization.
REST API endpoints for security managers
Use the REST API to manage security managers in an organization.
REST API endpoints for organization webhooks
Use the REST API to interact with webhooks in an organization.
REST API endpoints for packages
Use the REST API to interact with GitHub Packages.
REST API endpoints for GitHub Pages
Use the REST API to interact with GitHub Pages sites and builds.
Use the REST API to manage private registry configurations for organizations.
REST API endpoints for draft Project items
Use the REST API to manage draft items in Projects.
REST API endpoints for Project fields
Use the REST API to manage Project fields
REST API endpoints for Project items
Use the REST API to manage Project items
REST API endpoints for Projects
Use the REST API to manage Projects
REST API endpoints for Project views
Use the REST API to manage Project views
REST API endpoints for pull request review comments
Use the REST API to interact with pull request review comments.
REST API endpoints for pull requests
Use the REST API to interact with pull requests.
REST API endpoints for review requests
Use the REST API to interact with review requests.
REST API endpoints for pull request reviews
Use the REST API to interact with pull request reviews.
REST API endpoints for stacked pull requests
Use the REST API to interact with stacked pull requests.
REST API endpoints for rate limits
Use the REST API to check your current rate limit status.
REST API endpoints for reactions
Use the REST API to interact with reactions on GitHub.
REST API endpoints for releases
Use the REST API to create, modify, and delete releases.
REST API endpoints for release assets
Use the REST API to manage release assets.
REST API endpoints for repository attestations
Use the REST API to manage repository attestations.
REST API endpoints for repository autolinks
Use the REST API to add autolinks to external resources.
REST API endpoints for repository contents
Use the REST API to create, modify, and delete Base64 encoded content in a repository.
REST API endpoints for custom properties
Use the REST API to list the custom properties assigned to a repository by the organization.
Use the REST API to manage repository forks.
REST API endpoints for issue types
Use the REST API to manage issue types for a repository.
REST API endpoints for repositories
Use the REST API to manage repositories on GitHub.
REST API endpoints for rule suites
Use the REST API to manage rule suites for repositories.
Use the REST API to manage rulesets for repositories. Rulesets control how people can interact with selected branches and tags in a repository.
REST API endpoints for repository webhooks
Use the REST API to create and manage webhooks for your repositories.
Use the REST API to search for specific items on GitHub.
REST API endpoints for secret scanning custom patterns
Use the REST API to manage custom patterns for secret scanning.
REST API endpoints for secret scanning push protection
Use the REST API to manage secret scanning push protection.
REST API endpoints for secret scanning
Use the REST API to retrieve and update secret alerts from a repository.
REST API endpoints for global security advisories
Use the REST API to view global security advisories.
REST API endpoints for repository security advisories
Use the REST API to view and manage repository security advisories.
REST API endpoints for team members
Use the REST API to create and manage membership of teams in your GitHub organization.
Use the REST API to create and manage teams in your GitHub organization.
REST API endpoints for artifact attestations
Use the REST API to manage artifact attestations.
REST API endpoints for blocking users
Use the REST API to manage blocked users.
Use the REST API to manage email addresses of authenticated users.
REST API endpoints for followers
Use the REST API to get information about followers of authenticated users.
REST API endpoints for GPG keys
Use the REST API to manage GPG keys of authenticated users.
REST API endpoints for Git SSH keys
Use the REST API to manage Git SSH keys of authenticated users.
REST API endpoints for social accounts
Use the REST API to manage social accounts of authenticated users.
REST API endpoints for SSH signing keys
Use the REST API to manage SSH signing keys of authenticated users.
Use the REST API to get public and private information about authenticated users.