GitHub Actions · Rate Limits

Github Actions Rate Limits

Published GitHub REST API rate limits, which the Actions endpoints inherit, read from GitHub's documentation and CONFIRMED against a live unauthenticated response from https://api.github.com/rate_limit on 2026-09-17 (x-ratelimit-limit: 60, x-ratelimit-resource: core). REPLACES A SCAFFOLD: until this round this file carried invented tiers — "free 10 requests/minute, 1,000/month", "professional 100/minute" — that GitHub has never published. GitHub's limits are per HOUR and keyed on the AUTHENTICATION METHOD, not on a purchased plan tier, which is a materially different model from the one the scaffold described.

Github Actions Rate Limits is the machine-readable rate-limit profile for GitHub Actions on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 9 rate-limit definitions, measuring requests_per_hour and requests_per_minute.

The profile also includes 4 backoff/retry policies defined and response codes documented for throttled, throttledAlternate, and note.

Tagged areas include Rate Limiting, Quotas, and Throttling.

9 Limits Throttle: 403
Rate LimitingQuotasThrottling

Limits

Unauthenticated requests per-ip
requests_per_hour · hour
60
Authenticated user (personal access token / OAuth user token) per-user
requests_per_hour · hour
5000
GitHub App or OAuth app owned by a GitHub Enterprise Cloud organization per-user
requests_per_hour · hour
15000
GitHub App installation access token per-installation
requests_per_hour · hour
5000
GITHUB_TOKEN inside a GitHub Actions workflow per-repository
requests_per_hour · hour
1000
Search endpoints per-user
requests_per_minute · minute
30
Git LFS (unauthenticated) per-ip
requests_per_minute · minute
300
Git LFS (authenticated) per-user
requests_per_minute · minute
3000
OAuth access token requests per-app
requests_per_hour · hour
2000

Policies

Conditional requests
A request with If-None-Match (ETag) or If-Modified-Since that returns 304 Not Modified does NOT count against the primary rate limit. This is the single largest saving available to a polling agent and is documented, not inferred.
Backoff Strategy
Honour retry-after when present. Otherwise wait until x-ratelimit-reset. If neither is present, exponential backoff with jitter, and never retry more than once per minute against the same endpoint.
Prefer webhooks over polling
GitHub's own guidance: subscribe to workflow_run / workflow_job events rather than polling run status. See asyncapi/github-actions-webhooks.yml.
Getting a higher limit
There is no self-serve purchase of a higher REST rate limit. Higher limits come from the authentication method (a GitHub App installation) or from being on GitHub Enterprise Cloud.

Work with this as data

Every rate limit here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for rate limits

4 MCP tools reach this
  • find_rate_limitsBrowse and filter every rate limit in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This rate limit
curl "https://apis.io/api/v1/rate-limits/github-actions-rate-limits"
All rate limits
curl "https://apis.io/api/v1/rate-limits?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.