GitHub repository API
  1. Docs
  2. GitHub
  3. GitHub repository API

GitHub repository API

GitHub repository: GET /v1/github/repository. 1 credit per request.

GET /v1/github/repository

GET /v1/github/repository

GitHub repository.

  • Cost: 1 credit
  • Cache: Results are kept up to 30 days; send max_age_days to reuse them for free.
  • Timeout: A request still running after about 25 seconds answers 202 with a job to poll (Batch and jobs).

Parameters#

NameTypeRequiredDescription
urlURLone ofRepository URL (github.com/<owner>/<repo>). Accepted hosts: github.com.
repostringone of"owner/name". Also accepted as full_name.

Send at least one of url, repo. If you send several, the first listed is used and the rest are ignored.

Every request also accepts:

  • trim: true for a smaller response without null fields and extra.
  • raw: true to also get the platform's original object as raw.
  • max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).

Example request#

Set your key in the environment first (see Authentication).

1curl -G "https://api.socialscrape.dev/v1/github/repository" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  --data-urlencode "repo=torvalds/linux"

Example response#

This is a sample from a recorded response. Status 200.

200 OKSample response
1{2  "ok": true,3  "credits_charged": 1,4  "credits_remaining": 4999,5  "cached": false,6  "cached_at": null,7  "request_id": "req_d892f16395227006cdbe6251",8  "data": {9    "object": "repo",10    "platform": "github",11    "id": "2325298",12    "full_name": "torvalds/linux",13    "name": "linux",14    "url": "https://github.com/torvalds/linux",15    "owner": {16      "id": "1024025",17      "handle": "torvalds",18      "name": null,19      "url": "https://github.com/torvalds",20      "avatar_url": "https://avatars.githubusercontent.com/u/1024025?v=4",21      "verified": null22    },23    "description": "Linux kernel source tree",24    "language": "C",25    "topics": [],26    "license": "Other",27    "stars": 253786,28    "forks": 67471,29    "watchers": 8482,30    "open_issues": 3,31    "is_fork": false,32    "is_archived": false,33    "default_branch": "master",34    "created_at": "2011-09-04T22:48:12Z",35    "updated_at": "2026-10-30T01:16:26Z",36    "pushed_at": "2026-10-30T00:07:06Z",37    "extra": {38      "allow_forking": true,39      "disabled": false,40      "has_discussions": false,41      "has_issues": false,42      "has_pages": false,43      "has_wiki": false,44      "is_template": false,45      "network_count": 67471,46      "node_id": "MDEwOlJlcG9zaXRvcnkyMzI1Mjk4",47      "private": false,48      "size": 6391699,49      "visibility": "public",50      "web_commit_signoff_required": false51    }52  },53  "cursor": null,54  "has_more": null55}

Response#

A Repo object in data.

See Data models for every field. The envelope around data is described in Responses.

Errors#

Failures are free: credits_charged is 0. Branch on error.code, never on the message.

CodeHTTPRetryMeaning
invalid_params400noA parameter is missing, unknown or has the wrong type.
unsupported_url400noThe URL is not one this endpoint accepts (wrong platform or form).
not_found404noThe platform says this profile, post or item does not exist.

Every request can also fail with the account and platform errors listed on the Errors page.

Example error:

1{2  "ok": false,3  "error": {4    "code": "not_found",5    "message": "The platform says this profile, post or item does not exist.",6    "retryable": false7  },8  "credits_charged": 0,9  "request_id": "req_326379e357c83e3a6beb865b"10}