# Check a GitHub Account's Health API

> Check whether a GitHub token still authenticates and whether its account has been suspended. Returns the account's login/id and a verdict (active / suspended / auth-expired / forbidden). Bring your own GitHub token: it is used for this one call, never stored; sent only to api.github.com.

Category: [Developer Tools APIs](https://upapi.io/apis/developer-tools) · Last updated 2026-11-07

## How to call it

- Endpoint: `POST https://api.upapi.io/github-account-health.get`, key in the `X-Api-Key` header, JSON body.
- Cost: 1 weighted unit per call.
- Timeout: 30 seconds.
- Cache: none; every call runs the operation.
- Try it without writing code: https://app.upapi.io/try/github-account-health.get

```bash
curl -X POST https://api.upapi.io/github-account-health.get \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{ "token": "example" }'
```

## Request parameters

- `token` (string, required) — GitHub token of the account to health-check
- `proxyUrl` (string) — Optional proxy URL. Use the same one across related calls when the upstream expects a consistent IP.

## Response fields

- `login` (string) — The authenticated account's login
- `verdict` (string, required) — active | suspended | auth-expired | forbidden
- `accountId` (integer) — The account's numeric GitHub id
- `checkedAt` (string, required)
- `createdAt` (string) — Account creation timestamp
- `rateLimit` (object) — Rate-limit block from the /user response, when one was received
- `twoFactorAuthentication` (boolean) — Whether 2FA is enabled (only present when the token can read it)

## Example request and response

The example response is generated from the published output schema: it shows the shape and field names, not values from a recorded call.

```json
{
  "token": "example"
}
```

```json
{
  "login": "example",
  "verdict": "example",
  "accountId": 1,
  "checkedAt": "example",
  "createdAt": "example",
  "rateLimit": {
    "limit": 5,
    "resetAt": "example",
    "resource": "example",
    "remaining": 1,
    "resetEpoch": 1
  },
  "twoFactorAuthentication": false
}
```

## Frequently asked questions

### How much does the Check a GitHub Account's Health API cost per call?

Each call spends 1 weighted unit of your plan's monthly quota. Full pricing is at https://upapi.io/pricing.

### How do I authenticate to the Check a GitHub Account's Health API?

Send your key in the X-Api-Key header. A free guest key is available without creating an account.

### Are Check a GitHub Account's Health API responses cached?

No — every call runs the operation live; responses are not cached.

## More Developer Tools APIs

- [Follow or Unfollow a GitHub User](https://upapi.io/apis/developer-tools/github-user-follow)
- [Get GitHub Repository](https://upapi.io/apis/developer-tools/github-repo)
- [Get GitHub User](https://upapi.io/apis/developer-tools/github-user)
- [Get GitHub User Commit Emails](https://upapi.io/apis/developer-tools/github-user-emails)
- [List GitHub Issue Comments](https://upapi.io/apis/developer-tools/github-issue-comments)
- [List GitHub Repository Contributors](https://upapi.io/apis/developer-tools/github-repo-contributors)
- [List GitHub Repository Issues](https://upapi.io/apis/developer-tools/github-repo-issues)
- [Post a GitHub Issue Comment](https://upapi.io/apis/developer-tools/github-issue-comment)
