GitHub hub

GitHub Profile API

Resolve a public GitHub login to a profile card — display name, bio, avatar, company, location, and public repo or follower counts — with Social Fetch's shared response envelope.

GET /v1/github/profiles/{handle}

1 credit per successful request.

About this endpoint

Recruiting tools, open-source marketing, and founder graphs often need a GitHub card before they list repos or walk followers: does this login exist, is it a User or an Organization, and what public counts does GitHub show. That job does not require a GitHub personal access token, OAuth app, or write scopes.

`GET /v1/github/profiles/{handle}` is the dedicated route. Pass the GitHub username (login), send `x-api-key`, and read `data.lookupStatus` before you write a row. On `found`, `data.profile` carries handle, display name, bio, avatar, profile URL, account type, and optional fields such as company, location, blog, public email, and linked X username; `data.metrics` has followers, following, publicRepos, and publicGists when available. `not_found` returns null profile and metrics; HTTP 200 still means the request finished.

Credit pricing for this operation comes from the API registry and appears on this page — `meta.creditsCharged` is the billing source of truth. For repositories, activity, contributions, or follower lists, use the separate paths under the same handle — this endpoint stops at the profile card.

GitHub Profile API FAQ

How do I fetch a GitHub profile by login?

Call GET /v1/github/profiles/{handle} with your Social Fetch API key in the x-api-key header. The handle is the public GitHub username (login). Full parameters and examples are in the API docs linked from this page.

How many credits does a GitHub profile lookup 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. Failed lookups that Social Fetch marks as non-billable do not consume credits.

Do I need a GitHub personal access token or OAuth app?

No. Social Fetch authenticates with your Social Fetch API key only. You do not create a GitHub OAuth app or pass a personal access token for this public profile route.

What happens for missing or private accounts?

We only return publicly visible GitHub data. Unknown logins resolve as lookupStatus not_found with null profile and metrics. Private repositories and non-public fields are never invented. Always branch on lookupStatus before treating the payload as a found profile.

What does the GitHub profile response include?

On a found lookup, the envelope includes a profile object (handle, display name, bio, avatar, profile URL, accountType User or Organization, and optional company, location, blog, email, twitterUsername, and account timestamps) plus metrics such as followers, following, publicRepos, and publicGists when available. Exact field lists and nullability live in the OpenAPI schema for this route.

Is this the same as listing a user's repositories?

No. This endpoint returns the profile card only. To list public repositories for a login, use GET /v1/github/profiles/{handle}/repositories (a separate marketplace operation with its own credit note). Activity, contributions, followers, and following are also separate routes.

Can I use this for enrichment or recruiting jobs?

Yes. Teams use the profile route to hydrate CRM or candidate records, verify logins before monitoring, and refresh public metrics on a schedule. Pair it with repositories or activity routes when the job needs repo metadata or contribution signals, not just identity.