Developer

List a GitHub account's repositories · GitHub API

GET/github/users/{username}/repos
$min $0.003

Returns the public repositories of a GitHub user or organization with language, stars, forks and update times. Filter by type and sort. Paginate with `cursor`.

Using ChatGPT, Claude Code or another client? See the setup steps

Request
curl https://api.unifapi.com/github/users/{username}/repos \
  -H "Authorization: Bearer $UNIFAPI_KEY"

Parameters

usernamepathrequired
GitHub username of a user or organization.
typequery
Repository type filter. `owner`: repos owned by the user. `all`: owned repos plus repos from organizations the user belongs to. `member`: only repos the user belongs to via organization membership (not owned by the user). Default: `owner`.
sortquery
Sort field for repositories.
directionquery
Sort direction.
cursorquery
Opaque pagination cursor from a previous response's `pagination.next_cursor`. Omit for the first page.
The parameter for this GitHub operation. Use the URL-visible slug or id described in the docs.
Overview

This operation is part of the GitHub API in the developer category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs GitHub public data alongside Hacker News, social or web data, but should still keep one API key, one account balance, and one predictable JSON contract.

Common agent workflows

  • Resolve a public GitHub identity into structured profile metadata for enrichment agents.
  • Refresh creator, company, or account snapshots without managing source-specific response shapes.
  • Give an AI agent a stable GitHub data source without building a per-platform integration.
  • Normalize GitHub responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
  • The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
  • If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.

Response status codes

200400401402404429500502503

Billing

This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.

Response fields

Fields on each record in data

A successful List a GitHub account's repositories call returns data as an array; each record carries these fields (12 of 25 shown — the docs list the full schema).

platform_repo_idstring | null
GitHub repository id as a string.
node_idstring | null
GitHub node id when available.
namestring | null
Repository name without the owner prefix.
full_namestring | null
Full repository name in `owner/repo` form.
ownerobject | null
Repository owner.
is_privateboolean | null
Whether the repository is private.
profile_urlstring | null
Canonical public GitHub repository URL.
descriptionstring | null
Repository description when available.
is_forkboolean | null
Whether the repository is a fork.
homepagestring | null
Homepage URL when set on the repository.
languagestring | null
Primary programming language when reported.
forks_countnumber | null
Fork count when available.
Related endpoints

More GitHub operations

Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.