github api

url: github.guilty.wtf

GET /api/github

fetches basic github user profile information like name, avatar, and bio.

parameters

response:

{
    "login":"octocat",
    "id":583231,
    "node_id":"MDQ6VXNlcjU4MzIzMQ==",
    "avatar_url":"https://avatars.githubusercontent.com/u/583231?v=4",
    "gravatar_id":"",
    "url":"https://api.github.com/users/octocat",
    "html_url":"https://github.com/octocat",
    "followers_url":"https://api.github.com/users/octocat/followers",
    "following_url":"https://api.github.com/users/octocat/following{/other_user}",
    "gists_url":"https://api.github.com/users/octocat/gists{/gist_id}",
    "starred_url":"https://api.github.com/users/octocat/starred{/owner}{/repo}",
    "subscriptions_url":"https://api.github.com/users/octocat/subscriptions",
    "organizations_url":"https://api.github.com/users/octocat/orgs",
    "repos_url":"https://api.github.com/users/octocat/repos",
    "events_url":"https://api.github.com/users/octocat/events{/privacy}",
    "received_events_url":"https://api.github.com/users/octocat/received_events",
    "type":"User",
    "user_view_type":"public",
    "site_admin":false,
    "name":"The Octocat",
    "company":"@github",
    "blog":"https://github.blog",
    "location":"San Francisco",
    "email":null,
    "hireable":null,
    "bio":null,
    "twitter_username":null,
    "public_repos":8,
    "public_gists":8,
    "followers":21694,
    "following":9,
    "created_at":"2011-01-25T18:44:36Z",
    "updated_at":"2026-01-22T12:27:42Z"
}

GET /api/commits

fetches all email address thru commits by user

parameters

response:

#response for cache=false 
{
    "cached":false,
    "cacheMiss":false,
    "emails":{"octocat@nowhere.com":["The Octocat"],
    "_totalCommits":16}
}

#response for cache=true
{
    "cached":true,
    "cacheMiss":false,
    "emails":{"octocat@nowhere.com":["The Octocat"]}
}

what is cacheMiss?

a cache miss happens when the api cant find the data it needs in the cache, so it has to fetch it from github instead. this is mostly for developer purpose and not for users

what is _totalCommits?

this is just to show how many commits the scanner went thru, if cache was set to false

GET /api/repos

fetches all public repositories for that github user

parameters

response:

{
  "cached": true,
  "repos": [
    {
      "id": 1300192,
      "name": "Spoon-Knife",
      "html_url": "https://github.com/octocat/Spoon-Knife",
      "stargazers_count": 13579,
      "forks_count": 156014,
      "language": "HTML",
      "updated_at": "2026-02-03T18:52:32Z"
    },
    {
      "id": 1296269,
      "name": "Hello-World",
      "html_url": "https://github.com/octocat/Hello-World",
      "stargazers_count": 3478,
      "forks_count": 5715,
      "language": null,
      "updated_at": "2026-02-03T12:43:10Z"
    },
    {
      "id": 17881631,
      "name": "octocat.github.io",
      "html_url": "https://github.com/octocat/octocat.github.io",
      "stargazers_count": 1038,
      "forks_count": 493,
      "language": "CSS",
      "updated_at": "2026-01-31T15:15:25Z"
    },
    {
      "id": 20978623,
      "name": "hello-worId",
      "html_url": "https://github.com/octocat/hello-worId",
      "stargazers_count": 712,
      "forks_count": 275,
      "language": null,
      "updated_at": "2026-01-31T15:15:16Z"
    },
    {
      "id": 64778136,
      "name": "linguist",
      "html_url": "https://github.com/octocat/linguist",
      "stargazers_count": 681,
      "forks_count": 258,
      "language": "Ruby",
      "updated_at": "2026-01-30T23:07:02Z"
    },
    {
      "id": 18221276,
      "name": "git-consortium",
      "html_url": "https://github.com/octocat/git-consortium",
      "stargazers_count": 547,
      "forks_count": 155,
      "language": null,
      "updated_at": "2026-01-31T15:15:24Z"
    },
    {
      "id": 132935648,
      "name": "boysenberry-repo-1",
      "html_url": "https://github.com/octocat/boysenberry-repo-1",
      "stargazers_count": 425,
      "forks_count": 26,
      "language": null,
      "updated_at": "2026-01-30T23:07:07Z"
    },
    {
      "id": 56271164,
      "name": "test-repo1",
      "html_url": "https://github.com/octocat/test-repo1",
      "stargazers_count": 425,
      "forks_count": 36,
      "language": null,
      "updated_at": "2026-02-01T03:46:39Z"
    }
  ]
}

for now, repos will be cached until we change this, you cannot rescan repos until we add a parameter for this