GitHub Followers and Following Export
Last updated November 8, 2026
Export the full followers and following lists of any public GitHub account as flat rows: login, name, company, location, bio, profile URL, and user ID. Reads past the page 100 point where the Next link ends, and reports whether each list was read to the end.
Install
npx @mambalabsdev/mcp-github-followers-following-exportEvery tool here also runs hosted, with no install at all, through Apify's MCP endpoint.
Features
- One row per follower or followed account, with name, company, location, and bio.
- Reads past page 100, where the Next link on GitHub stops.
- A free report per list states the declared count and whether the list was read to the end.
- No GitHub login. An optional token of your own reads faster with fewer fields.
- Pay per event: User row at $0.002.
Input
usersarrayoptionalUsernames or profile URLs of public GitHub accounts, up to 100 a run. Clay users: wrap a column in a one item list.
liststringoptionalfollowers, following, or both (default).
max_results_per_liststringoptionalRows to return per list, from 1 to 100000. Default 1000. Each row is charged. Large lists also need a longer run timeout: about 400 rows a minute.
github_tokenstringoptionalOptional. Your own GitHub token reads through the REST API at up to 5,000 requests an hour, with login, user ID, and avatar only: no name, company, location, or bio. Never stored or logged.
max_charge_usdstringoptionalOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
Output schema
{
"row_type": "string",
"target_user": "string",
"list_type": "string",
"login": "string",
"name": "string",
"company": "string",
"location": "string",
"bio": "string",
"profile_url": "string",
"avatar_url": "string",
"user_id": "integer",
"position": "integer",
"declared_count": "integer",
"rows_returned": "integer",
"pages_read": "integer",
"list_complete": "boolean",
"read_route": "string",
"row_status": "string",
"error_reason": "string",
"billable_events_json": "string",
"scraped_at": "string"
}Pricing
| Event | Free plan price |
|---|---|
| User row | $0.002 |
| Actor Start | $0.0015 |
Pay per event on the Apify platform. Paid Apify plans pay less per event. No subscription, no seat license.
On the Apify free plan the actor stops at $1.50 of charges a month, about 750 user rows. Any paid Apify plan removes the cap.
Limits
- About 400 rows a minute without a token, measured at 5,200 rows in 755 seconds. A list of 25,000 needs a run timeout of about 70 minutes, so raise the timeout for a large list.
- No email addresses. The actor reads list pages, which do not show email, and it does not open each profile.
- Rows carry only what each account chose to publish. A person can change or remove these fields at any time.
- declared_count is empty when GitHub refuses that one REST read, which allows 60 reads an hour per address. The list is still read.
- A list can change during a long run. The actor removes repeats between neighboring pages, and declared_count is read at the start of the list, so the final count can differ slightly.
- On the Apify free plan the actor stops at 1.50 USD of charges a month, about 750 rows. Any paid Apify plan removes the cap.
- GitHub's Acceptable Use Policies restrict automated collection and forbid using GitHub information for spam, including unsolicited email and selling personal information to recruiters, headhunters, and job boards. You are responsible for how you use this data.