CCrashdummyY's Posts
Posts CCrashdummyY created.
___________________________
Public API
- 80.5K Views
- 54 Replies

I actually couldnt wait anymore and implemented a sort of cache a few weeks ago.
It basically performs the same search request as howlongtobeat.com but afterwards tries to obtain gog and steamappids as well.
I mainly use them to find a time.
The results are stored inside a local or remote db.
Theres a refresh endpoint as well but I still havent thought much about how and when to update the cached entries.
The code can be found here.
I host some weak azure vms behind a load balancer if you want to use it.
Theres additionally an OpenApi-UI ( Scalar ) to test things.
But basically you either POST a search or you GET a single entry using a steam or gog appid:
Currently there are 4 azure free tier vms behind this loadbalancer.
Existing entries are returned pretty fast due to the local sqlite db.
But as you can see if the VM doesnt "feel like it" it might take pretty long
It basically performs the same search request as howlongtobeat.com but afterwards tries to obtain gog and steamappids as well.
I mainly use them to find a time.
The results are stored inside a local or remote db.
Theres a refresh endpoint as well but I still havent thought much about how and when to update the cached entries.
The code can be found here.
I host some weak azure vms behind a load balancer if you want to use it.
Theres additionally an OpenApi-UI ( Scalar ) to test things.
But basically you either POST a search or you GET a single entry using a steam or gog appid:
at 15:02:02 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500' | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 270 0 270 0 0 15 0 --:--:-- 0:00:17 --:--:-- 58
{
"id": 9,
"hltbId": 2127,
"title": "Cyberpunk 2077",
"imageUrl": "https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg",
"steamAppId": 1091500,
"gogAppId": 2093619782,
"mainStory": 25.87,
"mainStoryWithExtras": 62.73,
"completionist": 106.9,
"lastUpdatedAt": "2025-06-28T13:02:24.891379Z"
}
at 15:02:26 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500' | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 271 0 271 0 0 51 0 --:--:-- 0:00:05 --:--:-- 64
{
"id": 6,
"hltbId": 2127,
"title": "Cyberpunk 2077",
"imageUrl": "https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg",
"steamAppId": 1091500,
"gogAppId": 2093619782,
"mainStory": 25.87,
"mainStoryWithExtras": 62.73,
"completionist": 106.9,
"lastUpdatedAt": "2025-06-28T13:02:33.3218513Z"
}
Currently there are 4 azure free tier vms behind this loadbalancer.
Existing entries are returned pretty fast due to the local sqlite db.
But as you can see if the VM doesnt "feel like it" it might take pretty long
at 15:02:33 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":9,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:04:45.6165408Z"}⏎
~ via v24.2.0 took 6s
at 15:04:46 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":30,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:04:51.8066768Z"}⏎
~ via v24.2.0 took 2s
at 15:04:51 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":9,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:02:24.891379"}⏎
~ via v24.2.0
at 15:04:53 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":6,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:02:33.3218513"}⏎
~ via v24.2.0
at 15:04:53 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":9,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:04:45.6165408"}⏎
~ via v24.2.0
at 15:05:06 ❯ curl 'https://hltbapi.codepotatoes.de/steam/1091500'
{"id":30,"hltbId":2127,"title":"Cyberpunk 2077","imageUrl":"https://howlongtobeat.com/games/Cyberpunk-2077-2.jpg","steamAppId":1091500,"gogAppId":2093619782,"mainStory":25.87,"mainStoryWithExtras":62.73,"completionist":106.9,"lastUpdatedAt":"2025-06-28T13:04:51.8066768"}⏎
Page