π ungh.cc
Unlimited access to GitHub API.
Important
/repos/<id>/files/<path>
endpoint redirects to original raw.githubusercontent.com
endpoint due to service absue. (#123).
Accessing to open source GitHub repository meta-data should be fast, easy, and straightforward. GitHub API is rate limited and requires an authentication token to increase limits. Even by using an API token, we need to share or generate it for each deployment and local development of apps and also deal with (increased) rate limits and deployment caching. GitHub REST API is also complex with (unnecessary) bigger payloads because of backward compatibility.
UNGH provides a simplified, cached, and anonymous layer to make GitHub API more enjoyable!
GitHub repository information.
Example: https://ungh.cc/repos/unjs/h3
{
"repo": {
"id": 313641207,
"name": "h3",
"repo": "unjs/h3",
"description": "Minimal h(ttp) framework built for high performance and portability β‘οΈ",
"createdAt": "2020-11-17T14:15:44Z",
"updatedAt": "2022-11-05T21:38:43Z",
"pushedAt": "2022-11-06T06:48:23Z",
"stars": 1168,
"watchers": 1168,
"forks": 59,
"defaultBranch": "main"
}
}
Get repository contributors.
Example: https://ungh.cc/repos/unjs/h3/contributors
{
"contributors": [
{
"id": 5158436,
"username": "pi0",
"contributions": 243
},
{
"id": 29139614,
"username": "renovate[bot]",
"contributions": 41
}
]
}
Get repository files tree on specific branch.
Example: https://ungh.cc/repos/unjs/h3/files/main
{
"meta": {
"sha": "501f0c6e623ea827d47691046f3c7319f5ac4651"
},
"files": [
{
"path": "README.md",
"mode": "100644",
"sha": "4c2b9ce4bccd6e046cd71be1a8c5e53a62778858",
"size": 5782
}
]
}
Get repository readme file on main branch (not cached)
Example: https://ungh.cc/repos/unjs/h3/readme
{
"html": "<p><a href=\"https://npmjs.com/package/h3\" rel=\"nofollow\"><img...",
"markdown": "[. Each item can be either {owner}/{org}
to specify one repository or {owner}/*
to specify all organization repositories.
Example: https://ungh.cc/stars/nuxt/nuxt.js+nuxt/framework
{
"totalStars": 51524,
"stars": {
"nuxt/nuxt.js": 41560,
"nuxt/framework": 9964
}
}
Find one github user by username.
Example: https://ungh.cc/users/pi0
{
"user": {
"id": 5158436,
"name": "Pooya Parsa",
"twitter": null,
"username": "pi0"
}
}
Get user repositories.
Example: https://ungh.cc/users/pi0/repos
{
"repos": [
{
"id": 674019467,
"name": "h3-on-edge",
"description": "β‘οΈ Edge workers with straming powered by unjs/h3",
"repo": "pi0/h3-on-edge",
"stars": 51,
"pushedAt": "2024-01-07T16:54:46Z",
"createdAt": "2023-08-03T00:53:31Z",
"updatedAt": "2024-01-04T17:20:53Z",
"watchers": 51,
"forks": 0,
"defaultBranch": "main"
}
]
}
Find one github user by email or other query.
Example: https://ungh.cc/users/find/pooya@pi0.io
{
"user": {
"id": 5158436,
"name": "Pooya Parsa",
"twitter": null,
"username": "pi0"
}
}
- Clone this repository
- Enable Corepack using
corepack enable
(usenpm i -g corepack
for Node.js < 16.10) - Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
Hosting is sponsored by Vercel.
Developed by @pi0 and contributors.
Source code is published under the MIT License.