GitHub profile following API
Page the public outbound graph for a GitHub login — peers, orgs, and accounts they already watch — as compact stubs in the shared Social Fetch envelope.
GET /v1/github/profiles/{handle}/following1 credit per successful request.
About this endpoint
Affinity maps care about attention flowing the other way. A maintainer's following list can surface peers they trust, sponsor orgs they track, and libraries they already watch — signal you cannot get from an inbound follower dump or a lone following count on the profile card.
`GET /v1/github/profiles/{handle}/following` takes a GitHub username (login) and returns `data.following` plus `data.page` (`hasMore`, `nextCursor`). Send `x-api-key`. Each stub can include `platformUserId`, optional `nodeId`, `handle`, `avatarUrl`, `profileUrl`, `accountType` (`User` or `Organization`), and optional `siteAdmin`. Use `accountType` when you want to separate people from orgs in an influence map. Continue with `cursor` from a previous page when `hasMore` is true.
Branch on `data.lookupStatus` first: `found` vs `not_found`. `found` with an empty `following` array can mean the login follows nobody publicly on that page. Inbound followers are `GET /v1/github/profiles/{handle}/followers`. Aggregate following counts without the list live on `GET /v1/github/profiles/{handle}` under `data.metrics`. See the credit badge on this page for pricing; trust `meta.creditsCharged` on every response.
GitHub profile following API FAQ
How do I list who a GitHub profile follows via API?
Call GET /v1/github/profiles/{handle}/following with your Social Fetch API key in the x-api-key header. Pass the public GitHub username (login) as the path parameter. Read data.lookupStatus, then data.following and data.page. Full parameters are in the API docs linked from this page.
When should I use following instead of followers?
Use following when the job is outbound: peer discovery, org affinity, sponsor watchlists, or "who does this maintainer already track." Use followers when you need the inbound audience for the same login. Both return stubs; the edge direction is the product difference.
How much does the GitHub profile following API cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
Can following stubs be organizations as well as users?
Yes. Each row's accountType can be User or Organization. Filter or bucket on that field when building influence maps so org follows do not get mixed into people-only pipelines.
How does pagination work on GitHub profile following?
When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same handle across pages. Treat the cursor as opaque; do not invent page indexes yourself.
What does lookupStatus mean on the following route?
found means the following list could be returned for that login. not_found means no public profile matched. Do not treat an empty following array as zero follows until you have confirmed lookupStatus is found.
Following list vs profile metrics vs the followers list?
This route pages the outbound following graph. Aggregate following counts without the list are on GET /v1/github/profiles/{handle} under data.metrics. Accounts that follow the login are GET /v1/github/profiles/{handle}/followers.
Can I map who a maintainer or org follows for recruiting?
Yes. Page following for a seed login, upsert stubs by handle or platformUserId, then fan out to profile or repositories routes on the accounts that matter. Keep meta.requestId if you need support on a failed page.
Do I need GitHub OAuth to read a public following list?
No. Social Fetch authenticates with your Social Fetch API key only. Prefer GitHub's official API with a GitHub token when you need authenticated scopes, private data, or write access.
Other GitHub endpoints
- ProfileGET /v1/github/profiles/{handle}
- RepositoriesGET /v1/github/profiles/{handle}/repositories
- RepositoryGET /v1/github/repositories
- ActivityGET /v1/github/profiles/{handle}/activity
- FollowersGET /v1/github/profiles/{handle}/followers
- ContributionsGET /v1/github/profiles/{handle}/contributions
- Trending reposGET /v1/github/trending/repositories
- Trending developersGET /v1/github/trending/developers