Public users & organizations

GitHub Profile API

Turn a GitHub handle into a structured profile: README, pinned repositories, contribution history and public organization details.

10 credits per request · Same price for every tab · No GitHub token required

/v1/github/profiles/example-user
{
  "profile": {
    "login": "example-user",
    "name": "Example Developer",
    "is_organization": false
  },
  "pinned_repositories": [
    {
      "position": 1,
      "name": "example-project",
      "full_name": "example-user/example-project",
      "language": "TypeScript"
    }
  ],
  "readme": {
    "text": "Building open-source tools.",
    "link": "https://github.com/example-user/example-user"
  },
  "contributions": {
    "calendar": [
      {
        "date": "2026-01-01",
        "count": 3,
        "level": 1
      }
    ]
  }
}

Illustrative response excerpt. Fields vary by account and selected tab.

One endpoint. Three profile views.

GET /v1/github/profiles/{username} — use a login or @handle. GitHub profiles are global, with no market selector.

Profile overview

10 credits
tab=overview

Public user or organization profile, README and pinned or popular repositories. User overviews also include contributions; organization overviews omit user-only activity.

Overview only: 1970 through the current year. Omit for the last 12 months; set a year for its calendar. User contribution activity only.

Profile repositories

10 credits
tab=repositories

Public repository summaries on a user or organization profile. Pages contain up to 30 rows; follow pagination.next_page while has_next is true.

Repository tab only: a positive page number, starting at 1.

Profile stars

10 credits
tab=stars

Starred repository summaries and star lists for public user accounts. Organization stars are unsupported and return 400. Follow pagination.next_page_token while has_next is true.

Stars only: copy the opaque next_page_token from the previous response. Omit for the first page; do not enter a URL.

The public profile, with context

Public profile identity

Names, bio, links, social accounts and profile counts in structured JSON. Metadata includes creation and update dates when available.

Pinned or popular

Keep GitHub’s distinction between repositories someone pinned and the popular repositories shown in their place.

Profile README

Read the profile introduction as text and rendered HTML, with a link to its source repository. Profiles without a displayed README do not invent one.

Contribution history

Retrieve dated user contribution counts and activity, or select a calendar year. Organization profiles omit user-only activity.

Repository and stars tabs

Page through profile repository summaries and user stars. Follow the next page or opaque token returned with the response.

Organization profiles

Read the organization’s public README, repositories, languages, topics and people previews when displayed on its profile.

Not Sure Which Plan Fits Your Needs? Calculate Your Cost and Find the Right Plan.

Estimate your GitHub profile requests using the endpoint price and available credit plans.

Every tab uses the same per-request price. Check the live pricing catalog before planning usage.

A handle goes in. JSON comes back.

Use standard HTTP with your ScrapeBadger API key. Choose overview, repositories or stars with the tab parameter.

Repository pages and stars cursors are separate pagination modes. The reference documents which fields apply to users and organizations.

const username = 'yyx990803';
const url = new URL(
  '/v1/github/profiles/' + encodeURIComponent(username),
  'https://scrapebadger.com',
);
url.searchParams.set('tab', 'overview');

const response = await fetch(url, {
  headers: { 'X-API-Key': process.env.SCRAPEBADGER_API_KEY ?? '' },
});
if (!response.ok) throw new Error('HTTP ' + response.status);
const profile = await response.json();
console.log(profile);

Questions about GitHub profiles

Do I need a GitHub token?

No. Use your ScrapeBadger API key to request public profiles. You do not need to connect a GitHub account.

Can I retrieve organization profiles?

Yes. Overview and repositories support users and organizations. Organizations have their own public profile fields and no user contribution calendar. The stars tab supports user accounts only.

How do historical contributions work?

On the overview tab, set year to a value from 1970 through the current year for that calendar year. Without year, the calendar covers the last 12 months. Activity uses December for past years and the current month for the current year.

How do I paginate repositories and stars?

Use page, starting at 1, with tab=repositories. For tab=stars, pass the returned pagination.next_page_token to the next request. Both tabs return up to 30 repository summaries per page.

How are requests priced?

Each profile tab uses the same per-request credit price. The estimator reads the public pricing catalog; the dashboard response shows the credits used. Failed requests do not consume credits.

Explore a public GitHub profile

Choose a profile tab and try its parameters in the playground.

Open playground

ScrapeBadger is an independent tool and is not affiliated with, endorsed by, or sponsored by GitHub, Inc. GitHub is a trademark of GitHub, Inc., used only to describe the platform this API works with.