---
title: "Get a GitHub user profile and language breakdown"
method: POST
path: "/v1/github/user-profile"
tags: ["GitHub"]
---

# Get a GitHub user profile and language breakdown

`POST /v1/github/user-profile`

## Request

- Base URL: `https://api.fiber.ai`
- URL: `https://api.fiber.ai/v1/github/user-profile`
- Auth: none declared

Returns a user's public profile plus the languages used in their own non-fork repositories (the 100 most recently pushed). Organization and bot accounts are not returned.

<span>⚡ <strong>Rate limit:</strong> 120 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> 2 credits per request&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

<span>⏱ <strong>Recommended timeout:</strong> 30 seconds&nbsp;<span title="Recommended timeout: set your HTTP client timeout to at least 30 seconds for this endpoint.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required: Your Fiber API key
  - `profileUrl` string, required: User to look up. Accepts a profile URL (for example 'https://github.com/torvalds') or a username. Organization and bot accounts are not returned.

## Response `200`

Default Response

- object
  - `output` object, required
    - `username` string, required: GitHub username.
    - `profileUrl` string, required: Profile URL.
    - `name` string, nullable: Name on the profile.
    - `company` string, nullable: Company on the profile.
    - `location` string, nullable: Location on the profile.
    - `bio` string, nullable: Profile bio.
    - `website` string, nullable: Website linked from the profile.
    - `twitterUrl` string, nullable: X profile URL linked from the GitHub profile.
    - `numFollowers` number, nullable: Number of followers.
    - `numRepositories` number, nullable: Number of public repositories.
    - `accountCreatedAt` string, nullable: When the account was created, as an ISO-8601 timestamp.
    - `languages` object[], required: Languages across the user's own non-fork repositories, using the 100 most recently pushed. Repositories with no detected language are excluded. Ordered by `repoCount`, highest first.
      - `language` string, required: Programming language name.
      - `repoCount` number, required: How many of the user's own repositories use this language.
      - `share` number, required: Fraction of the counted repositories that use this language, from 0 to 1.
    - `languagesUnavailable` boolean, required: True when the language breakdown could not be loaded. The profile fields are still returned.
  - `chargeInfo` union, required
    - object: Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
    - object: Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable: Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required: URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required: Human-readable credits warning.
        - `availableCredits` number, required: Number of credits remaining in the current billing period.
  - `warnings` object[], nullable: Warnings about extraneous fields in request
    - `field` string, required: Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required: Warning message
  - `advice` string[], nullable: Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400`: Default Response
- `401`: Default Response
- `402`: Default Response
- `403`: Default Response
- `404`: Default Response
- `422`: Default Response
- `429`: Default Response
- `500`: Default Response
- `503`: Default Response

## Changes

- **2026-10-27** `a15af2897f6b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fiber/apis/fiber-ai-api/changes/v1/github/user-profile/post.md)

---

[API](https://skmtc.dev/fiber/apis/fiber-ai-api.md) - [All operations](https://skmtc.dev/fiber/apis/fiber-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fiber/apis/fiber-ai-api/revisions/d8237cb5c35e?raw)
