Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A GitHub README stats card can stop rendering, show a rate-limit error, or display old numbers even when its Markdown is correct. The embed points to a remote service, so the failure may be in that service, GitHub’s API response, or the card’s cache—not in the README itself. The most reliable remedy depends on the symptom: use the project’s documented cache, run an instance you control, or generate a static SVG with GitHub Actions.

First, identify what is failing

Open the profile or repository page and note whether the card is missing, showing an error, or rendering normally with outdated values. These symptoms point to different causes. A valid Markdown image tag only tells GitHub where to request an image; it does not guarantee the remote endpoint is available or that its data is current.

Check the image embed

Inspect the image URL in the README. Confirm that it uses the intended card endpoint, that the username parameter matches the account, and that any options in the query string are spelled correctly. If the URL or username is wrong, correct it and commit the README change. If the card URL is intact but the image still fails intermittently, the remote service may be the problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Confirm the README is displayed in the right place

A profile README comes from a public repository named exactly after the GitHub account. GitHub also renders README files in repository views; its documentation describes these display locations and notes that README files larger than 500 KiB are truncated in the rendered view. GitHub Docs: About READMEs

Why a correct card can fail or look stale

Shared card services can hit API limits

The GitHub Readme Stats project warns that its shared public Vercel instance can hit the GitHub API rate limiter. The project’s README explains that the public endpoint is shared; it does not provide an uptime guarantee or independent measurement of how often failures occur. A syntactically correct card embed can therefore fail when the service cannot obtain data. GitHub Readme Stats project README

GitHub documents API request limits, including 60 unauthenticated requests per hour, 5,000 authenticated personal access token requests per hour, and 1,000 requests using GITHUB_TOKEN per hour per repository for GitHub Actions. These limits have additional rules, including secondary limits; they are not availability promises for a third-party card. GitHub Docs: Rate limits for the REST API

GitHub may still be calculating repository statistics

When a client requests repository statistics through GitHub’s REST API, the response can be HTTP 202 while GitHub calculates the result. Treat that as pending, not as a completed statistics response: wait briefly and retry. GitHub says it tries to return cached data because computing repository statistics is expensive; the statistics cache is keyed to the default branch SHA, and a push to the default branch resets that cache. GitHub Docs: REST API endpoints for repository statistics

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Card data may be cached by design

The GitHub Readme Stats project documents different default cache intervals for its card types. As a result, recent activity may not appear immediately, especially on cards with longer intervals.

Card type Documented default cache
Stats 24 hours
Top languages 144 hours (six days)
Pins 240 hours (ten days)
Gists 48 hours (two days)

These intervals are documented by the project in its README and may change. A stale card within its documented cache window is not, by itself, evidence that the Markdown is broken. GitHub Readme Stats project README

Choose a fix that matches your needs

The GitHub Readme Stats project documents three practical approaches: use its public shared endpoint, deploy an instance you control, or generate a static SVG through GitHub Actions. They differ in who maintains the service, control over credentials and caching, and how often a card can refresh.

Approach Who operates it Limits and freshness Private statistics Trade-off
Public shared endpoint The project’s shared public service Exposed to aggregate demand and the service’s documented cache intervals Not the project’s documented route for private statistics Least setup; less control over availability and cache configuration
Self-hosted instance You operate the deployment You can manage cache configuration, but GitHub API limits still apply to requests made with your credentials The project documents using your own deployment with a GitHub API token More control, with hosting, token security, and maintenance responsibilities
Static SVG generated by GitHub Actions Your repository workflow generates and commits the image No live card request is needed for each README view; values refresh when the workflow runs Authentication can be configured in the workflow using a GitHub Actions secret, as shown in the project documentation Less runtime dependence on a shared endpoint, but freshness depends on workflow runs and setup

Keep using the shared endpoint

If occasional delays are acceptable, correct the embed and allow the project’s cache to work. This avoids deployment and workflow setup, but you remain dependent on the shared service and its exposure to API limits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Deploy an instance you control

For more control over cache settings or a need for private repository statistics, follow the project’s self-hosting documentation. The project says private statistics require your own deployment and a GitHub API token. Store the token as a server-side secret or in the appropriate workflow secret configuration; never put it in public README Markdown or a client-visible image URL. GitHub Readme Stats project README

Generate and commit a static SVG

The project also documents a GitHub Actions approach that generates an SVG and commits it into the repository. This removes a live image-service request from each profile-page view. The trade-off is that the image changes only when the workflow runs, and GitHub Actions still has its own API limits. Follow the project’s current workflow example and keep any authentication token in a GitHub Actions secret. GitHub Readme Stats project README

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Use this repair sequence

  1. Inspect the rendered card. Classify it as missing, showing a rate-limit or other error, or rendering with stale data.
  2. Check the README source. Verify the endpoint, username parameter, and options. Confirm that a profile README is in a public repository whose name matches the account.
  3. For a rate-limit message or intermittent failure, recognize that the shared endpoint may be hitting its API limit. Decide whether its convenience is sufficient or whether you need self-hosting or a static workflow.
  4. For stale values, compare the card type with the project’s documented cache interval before changing the embed. If you call GitHub’s repository-statistics endpoints directly and receive HTTP 202, wait and retry rather than treating it as completed data.
  5. For private statistics, use the project’s own-deployment approach and store the token in a server-side or workflow secret. Do not expose credentials in the README or image URL.
  6. After changing the setup, verify the result on the rendered GitHub page and, for a static card, confirm that the workflow completed and committed the generated SVG.

What this fix can and cannot guarantee

Self-hosting gives you control over deployment and cache configuration; it does not remove GitHub’s API limits or guarantee uninterrupted availability. A static SVG avoids a live request on each README view, but it can become stale if its workflow does not run. The public endpoint is simplest to use, but it remains a shared service. Choose based on whether you value minimal setup, control, private statistics, or reduced dependence on live rendering most.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.