Skip to main content
GET
Get profile
Examples illustrate the request contract. Optional sections depend on public source visibility; failures are returned as unbilled errors.
Credits: 10 per successful request in every tab, including additional pages. The response is an unwrapped object with profile and mode-specific sections.

Valid parameter combinations

Use username as a login or leading @handle; raw URLs and reserved website routes are rejected. Do not substitute a next-page URL for a cursor. Use your ScrapeBadger X-API-Key; a restricted key needs the github API scope.

Calendar and activity windows

year selects a whole calendar year. Its activity timeline is December for past years and the current month for the current year. Without it, the calendar is the last 12 months and the activity timeline is the current month. contributions.from and to describe the calendar; activity_from and activity_to describe the activity window when published. Organizations omit user contribution sections.

Source availability and errors

Missing fields or omitted sections mean unavailable/not applicable. Explicit null public metadata remains null. A *_approximate flag marks compact native counts; exact supplemental metadata keeps original website counts separately. Timestamp pairs use ISO *_at and Unix-seconds *_utc. Invalid tab/parameter combinations are rejected before source requests. Unknown handles return 404; invalid values return 400/422; authentication, scope, credit and account rate-limit errors follow the standard API contract. Source failures, challenge pages or unexpected markup return 502/503 and are not billed. An empty list is a verified native empty state, never a substitute for a source failure. See the overview for examples and the endpoint reference for the same OpenAPI operation. General search, standalone repository detail and trending are outside this profile endpoint.

Authorizations

X-API-Key
string
header
required

Path Parameters

username
string
required

GitHub login or leading @handle, not a profile URL. Up to 39 login characters; reserved site routes and invalid logins are rejected.

Required string length: 1 - 40
Pattern: ^@?[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$

Query Parameters

tab
enum<string>
default:overview

Profile mode. Stars supports user accounts only.

Available options:
overview,
repositories,
stars
year
integer

Overview only: 1970 through the current UTC year; activity is December or current month

Required range: x >= 1970
page
integer

Repositories only. Positive page number; 30 repository rows per page. Follow pagination.next_page.

Required range: x >= 1
next_page_token
string

Stars only. Exact opaque pagination.next_page_token from the prior response; not a URL. 30 rows per page.

Maximum string length: 1024

Response

Unwrapped profile object. Source-specific sections may be omitted. Representative examples are abridged and not live production results.

Unwrapped profile response, with mode-specific public sections.

profile
GitHubProfile · object
required
pinned_repositories
GitHubRepository · object[] | null
readme
GitHubReadme · object | null
organizations
GitHubAccountPreview · object[] | null
sponsors
GitHubAccountPreview · object[] | null
sponsoring
GitHubAccountPreview · object[] | null
additional_sponsors_count
integer | null
additional_sponsoring_count
integer | null
achievements
GitHubAchievement · object[] | null
highlights
GitHubTextLink · object[] | null
contributions
GitHubContributions · object | null

Public user overview only; omitted for organizations and other tabs.

repositories
GitHubRepository · object[] | null
starred_repositories
GitHubRepository · object[] | null
star_lists
GitHubNamedLink · object[] | null
pagination
GitHubPagination · object | null
top_languages
GitHubLanguage · object[] | null
topics
string[] | null
people
GitHubAccountPreview · object[] | null
verified_domains
string[] | null