# REST API endpoints for rate limits

Use the REST API to check your current rate limit status.

## About rate limits

You can check your current rate limit status at any time. For more information about rate limit rules, see [Rate limits for the REST API](/en/enterprise-server@3.18/rest/using-the-rest-api/rate-limits-for-the-rest-api).

The REST API for searching items has a custom rate limit that is separate from the rate limit governing the other REST API endpoints. For more information, see [REST API endpoints for search](/en/enterprise-server@3.18/rest/search/search). The GraphQL API also has a custom rate limit that is separate from and calculated differently than rate limits in the REST API. For more information, see [Rate limits and query limits for the GraphQL API](/en/enterprise-server@3.18/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api#primary-rate-limit). For these reasons, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories:

* The `core` object provides your rate limit status for all non-search-related resources in the REST API.

* The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see [REST API endpoints for search](/en/enterprise-server@3.18/rest/search/search).

* The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see [REST API endpoints for search](/en/enterprise-server@3.18/rest/search/search#search-code).

* The `graphql` object provides your rate limit status for the GraphQL API.

* The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see [Registering a GitHub App from a manifest](/en/enterprise-server@3.18/apps/sharing-github-apps/registering-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration).

* The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see [REST API endpoints for the dependency graph](/en/enterprise-server@3.18/rest/dependency-graph).

* The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see [Uploading a SARIF file to GitHub](/en/enterprise-server@3.18/code-security/how-tos/find-and-fix-code-vulnerabilities/integrate-with-existing-tools/upload-sarif-file).

* The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see [REST API endpoints for self-hosted runners](/en/enterprise-server@3.18/rest/actions/self-hosted-runners).

For more information on the headers and values in the rate limit response, see [Rate limits for the REST API](/en/enterprise-server@3.18/rest/using-the-rest-api/rate-limits-for-the-rest-api).

> \[!NOTE]
> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2022-11-28`. Curl examples below omit these standard headers for brevity.

## Get rate limit status for the authenticated user

```
GET /rate_limit
```

Note

Accessing this endpoint does not count against your REST API rate limit.

Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under resources, you'll see objects relating to different categories:

The core object provides your rate limit status for all non-search-related resources in the REST API.
The search object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "Search."
The code\_search object provides your rate limit status for the REST API for searching code. For more information, see "Search code."
The graphql object provides your rate limit status for the GraphQL API. For more information, see "Resource limitations."
The integration\_manifest object provides your rate limit status for the POST /app-manifests/{code}/conversions operation. For more information, see "Creating a GitHub App from a manifest."
The dependency\_snapshots object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "Dependency graph."
The dependency\_sbom object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "Dependency graph."
The actions\_runner\_registration object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "Self-hosted runners."
The source\_import object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "API Versions."

Note

The rate object is closing down. If you're writing new API client code or updating existing code, you should use the core object instead of the rate object. The core object contains the same information that is present in the rate object.

### HTTP response status codes

* **200** - OK

* **304** - Not modified

* **404** - Resource not found

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  http(s)://HOSTNAME/api/v3/rate_limit
```

**Response schema (Status: 200):**

* `resources`: required, object:
  * `core`: required, `Rate Limit`:
    * `limit`: required, integer
    * `remaining`: required, integer
    * `reset`: required, integer
    * `used`: required, integer
  * `graphql`: `Rate Limit` (see above)
  * `search`: required, `Rate Limit` (see above)
  * `code_search`: `Rate Limit` (see above)
  * `source_import`: `Rate Limit` (see above)
  * `integration_manifest`: `Rate Limit` (see above)
  * `actions_runner_registration`: `Rate Limit` (see above)
  * `scim`: `Rate Limit` (see above)
  * `dependency_sbom`: `Rate Limit` (see above)
  * `code_scanning_autofix`: `Rate Limit` (see above)
  * `copilot_usage_records`: `Rate Limit` (see above)
* `rate`: required, `Rate Limit` (see above)