Tools
Tools: βοΈ I built a Free API for Go (Baduk) Problems with 49k+ puzzles
2026-01-21
0 views
admin
π‘ What is Go Problem API? ## π οΈ The Tech Stack ## π How to use it ## π Try it out ## π Feedback? Hello Dev Community! π I'm a developer who loves the board game Go (also known as Baduk or Weiqi). Recently, I wanted to build a simple app to practice "Tsumego" (Life & Death problems), but I realized there wasn't an easy-to-use API that provided a large dataset of problems for developers. Most resources were either locked behind legacy websites or required complex parsing. So, I decided to build my own and open it up for everyone! π It is a free RESTful API that serves over 49,500+ Go problems. It's designed for developers who want to build: For those interested in how it was built, I used: I optimized the queries to ensure the latency remains low (usually under 20ms). It's hosted on RapidAPI. You can fetch a random problem easily. Here is a quick example using JavaScript (Fetch): You can test the endpoints, see the response format, and get your free API key directly on RapidAPI: π Get started with Go Problem API This is a side project I built to help the Go/Baduk community. I'm actively working to improve it, so your feedback is incredibly valuable. Please let me know in the comments below! If you build something cool with it, drop a linkβIβd love to see it. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to ? It will become hidden in your post, but will still be visible via the comment's permalink. as well , this person and/or CODE_BLOCK: const url = '[https://go-problem-api.p.rapidapi.com/random](https://go-problem-api.p.rapidapi.com/random)'; const options = { method: 'GET', headers: { 'x-rapidapi-key': 'YOUR_API_KEY_HERE', 'x-rapidapi-host': 'go-problem-api.p.rapidapi.com' } }; try { const response = await fetch(url, options); const result = await response.json(); console.log(result); } catch (error) { console.error(error); } CODE_BLOCK: const url = '[https://go-problem-api.p.rapidapi.com/random](https://go-problem-api.p.rapidapi.com/random)'; const options = { method: 'GET', headers: { 'x-rapidapi-key': 'YOUR_API_KEY_HERE', 'x-rapidapi-host': 'go-problem-api.p.rapidapi.com' } }; try { const response = await fetch(url, options); const result = await response.json(); console.log(result); } catch (error) { console.error(error); } CODE_BLOCK: const url = '[https://go-problem-api.p.rapidapi.com/random](https://go-problem-api.p.rapidapi.com/random)'; const options = { method: 'GET', headers: { 'x-rapidapi-key': 'YOUR_API_KEY_HERE', 'x-rapidapi-host': 'go-problem-api.p.rapidapi.com' } }; try { const response = await fetch(url, options); const result = await response.json(); console.log(result); } catch (error) { console.error(error); } - Go training apps - Daily puzzle widgets - Bots or AI training sets - Backend: Node.js with Express - Database: PostgreSQL (hosted on Neon) - API Gateway: RapidAPI (for management and analytics) - Does the JSON structure make sense? - Are there specific features you'd like to see? - Did you run into any issues?
toolsutilitiessecurity toolsbuiltbadukproblemspuzzlesproblemrce