GitHub Followers and Following Export

live$0.002/user rowSignal Detection

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.

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

usersarrayoptional

Usernames or profile URLs of public GitHub accounts, up to 100 a run. Clay users: wrap a column in a one item list.

liststringoptional

followers, following, or both (default).

max_results_per_liststringoptional

Rows 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_tokenstringoptional

Optional. 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_usdstringoptional

Optional. The run stops before a charge that would pass this amount. Summary rows are always returned.

Output schema

json
{
  "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

$0.002per user row
EventFree 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.

Available on