# YouTube Followers API (youtube.followers)

- Canonical page: https://everyinfra.com/en/youtube-api/followers
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "youtube", "action": "followers", "params": {...}}
- Price: $0.000556 per call ($0.56 per 1,000 requests); failed calls and empty results are not charged
- Returns: single object
- Mode: sync; add "mode": "async" for slow tasks

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=youtube&action=followers

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| username | not declared | yes | not declared | The channel handle (optional leading @) required by the followers and shorts actions. The followers action returns aggregate subscriber counts rather than user lists. The shorts action prioritizes handles and does not treat UC... channel IDs as identical identifiers. |
| channel | not declared | no | not declared | A compatibility alias for specifying a channel handle. Full /channel/UC... URLs may fail to parse across helper utilities, so prefer passing a handle or using the URL parameter explicitly provided by the action. |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| id | The record's unique ID on the platform. Unique only within one platform; IDs can repeat across platforms. |
| username | Username (@handle). |
| url | Link to the record on the platform. |
| follower_count | Followers. null means not disclosed, not 0. |
| following_count | Accounts followed. null means not disclosed, not 0. |
| post_count | Total posts. null means not disclosed, not 0. |
| like_count | Likes. null means the platform or this capability does not disclose it; it is not 0. |
| connection_count | platform-native meaning |
| precision | platform-native meaning |
| platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "youtube",
  "action": "followers",
  "params": {
    "username": "@NASA"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "youtube",
        "action": "followers",
        "params": {
            "username": "@NASA",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-09-26T08:56:04Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "youtube",
  "action": "followers",
  "results": {
    "id": "NASA",
    "username": "NASA",
    "url": "https://www.youtube.com/@NASA",
    "follower_count": 15100000,
    "post_count": 6100,
    "platform": "youtube"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=youtube
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
