Public API
Read-only JSON that anybody can fetch, from a script or from another website. No sign-in and no key.
No authentication. A request carries no cookie and no token, and every caller gets the same answer.
Readable from any website: every answer allows all origins.
Rebuilt once a day at 19:40 UTC. An answer may be cached for an hour; send its ETag back in If-None-Match and an unchanged list answers 304.
Endpoints
| Endpoint | Returns | Items now |
|---|---|---|
| GET/api/credits/makers | Makers | 30 |
| GET/api/credits/editors | Editors | 56 |
| GET/api/credits/translators | Translators | 25 |
| GET/api/credits/sponsors | Sponsors | 54 |
Response
Every endpoint answers with the same object: when the list was built, how many items it has, and the items.
- refreshedAtstring
When this list was last built. ISO 8601, in UTC.
- countnumber
How many items the list has.
- itemsobject[]
The list itself, in the order the credits page shows it.
/api/credits/makers
Makers
Developers from the project's GitHub repositories, and the people credited by hand for work no API records.
Fields of each item
- namestring | null
Display name. null for an account on this site that has never chosen one.
- githubstring | null
GitHub login, where one is known.
- userIdstring | null
Account id on this site, where they have one. Their profile page is /users/{userId}.
- avatarUrlstring
Picture, served from this site. Somebody with no picture of their own gets the default one, so it is never null.
- roles("developer" | "translator" | "editor" | "honorary")[]
Everything this person is credited for, not only this list.
- medal"developer" | "contributor" | null
developer for a gold developer, contributor for a gold contributor, otherwise null.
{
"refreshedAt": "2026-09-30T19:41:08.593Z",
"count": 30,
"items": [
{
"name": "nutant",
"github": "nutant233",
"userId": null,
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/dff0ab5959ee02a3b5f7e0031ec5d3af49f90fe8df5c95037bf3fe2e296c3479",
"roles": [
"developer",
"honorary"
],
"medal": "developer"
},
{
"name": "Hophenby",
"github": "Hophenby",
"userId": null,
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/e494ed97db2b02d2c7d9d1c3b8b080e59dd823fda43807c9011720fee62b4cc8",
"roles": [
"developer",
"honorary"
],
"medal": "developer"
}
]
}The live answer, cut to the first 2 of 30 items.
/api/credits/editors
Editors
Everyone who has had an article published on this wiki.
Fields of each item
- namestring | null
Display name. null for an account on this site that has never chosen one.
- githubstring | null
GitHub login, where one is known.
- userIdstring | null
Account id on this site, where they have one. Their profile page is /users/{userId}.
- avatarUrlstring
Picture, served from this site. Somebody with no picture of their own gets the default one, so it is never null.
- roles("developer" | "translator" | "editor" | "honorary")[]
Everything this person is credited for, not only this list.
- medal"developer" | "contributor" | null
developer for a gold developer, contributor for a gold contributor, otherwise null.
{
"refreshedAt": "2026-09-30T19:41:08.593Z",
"count": 56,
"items": [
{
"name": "xinxinsuried",
"github": "xinxinsuried",
"userId": "P3TMMeSaYoWlbxayrphKallNdyNjqWjk",
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/4240736bdf110c65549029a1373a1ab4bdb153361c877d1b0c78fbc812bd4620",
"roles": [
"developer",
"translator",
"editor",
"honorary"
],
"medal": "developer"
},
{
"name": null,
"github": null,
"userId": "kn751cehs4s0pdypxd14d4ppz589k3eq",
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/default",
"roles": [
"editor"
],
"medal": null
}
]
}The live answer, cut to the first 2 of 56 items.
/api/credits/translators
Translators
Translators with more than 10 points across the project's ParaTranz projects.
Fields of each item
- namestring | null
Display name. null for an account on this site that has never chosen one.
- githubstring | null
GitHub login, where one is known.
- userIdstring | null
Account id on this site, where they have one. Their profile page is /users/{userId}.
- avatarUrlstring
Picture, served from this site. Somebody with no picture of their own gets the default one, so it is never null.
- roles("developer" | "translator" | "editor" | "honorary")[]
Everything this person is credited for, not only this list.
- medal"developer" | "contributor" | null
developer for a gold developer, contributor for a gold contributor, otherwise null.
{
"refreshedAt": "2026-09-30T19:41:08.593Z",
"count": 25,
"items": [
{
"name": "xinxinsuried",
"github": "xinxinsuried",
"userId": "P3TMMeSaYoWlbxayrphKallNdyNjqWjk",
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/4240736bdf110c65549029a1373a1ab4bdb153361c877d1b0c78fbc812bd4620",
"roles": [
"developer",
"translator",
"editor",
"honorary"
],
"medal": "developer"
},
{
"name": "LEgenD-Leo",
"github": "LEgenD-Leo",
"userId": null,
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/363b87bf4997242209442f59003d1cf7317380058ea1eb87c78f4b85ce57ca27",
"roles": [
"developer",
"translator",
"honorary"
],
"medal": null
}
]
}The live answer, cut to the first 2 of 25 items.
/api/credits/sponsors
Sponsors
Sponsors on Afdian, earliest first.
Fields of each item
- namestring
Name on Afdian.
- avatarUrlstring
Picture, served from this site. Somebody with no picture of their own gets the default one, so it is never null.
- goldboolean
Whether their total giving has passed the gold threshold. Amounts are never published.
- firstPayAtstring
When they first sponsored. ISO 8601, in UTC.
{
"refreshedAt": "2026-09-30T19:41:08.593Z",
"count": 54,
"items": [
{
"name": "帕大星PadaStar",
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/00dd49d67d16321c1e8bffccc35a70b1ff8b413bb28123c5ae2a87af6c1bea34",
"gold": false,
"firstPayAt": "2026-04-04T12:21:25.000Z"
},
{
"name": "爱发电用户_p6k4",
"avatarUrl": "https://gtodyssey.com/api/credits/avatars/78cc724ef3678336978019c7935adad27927dbd25fc5f71f7da185176e625b55",
"gold": false,
"firstPayAt": "2026-04-04T12:25:21.000Z"
}
]
}The live answer, cut to the first 2 of 54 items.