{"id":37997232,"url":"https://github.com/raf555/kbbi-api","last_synced_at":"2026-05-10T13:08:13.690Z","repository":{"id":277376932,"uuid":"930926105","full_name":"raf555/kbbi-api","owner":"raf555","description":"KBBI as RESTful API","archived":false,"fork":false,"pushed_at":"2026-02-01T10:22:34.000Z","size":93,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-01T20:08:37.119Z","etag":null,"topics":["api","kamus-besar-bahasa-indonesia","kbbi","kbbi-api","rest-api"],"latest_commit_sha":null,"homepage":"https://kbbi.raf555.dev/swagger/index.html","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raf555.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-11T12:47:30.000Z","updated_at":"2026-02-01T10:22:37.000Z","dependencies_parsed_at":"2025-04-26T12:24:39.924Z","dependency_job_id":"c4f75585-7b4f-4abc-ba5c-7caceef1175b","html_url":"https://github.com/raf555/kbbi-api","commit_stats":null,"previous_names":["raf555/kbbi-api"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/raf555/kbbi-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raf555%2Fkbbi-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raf555%2Fkbbi-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raf555%2Fkbbi-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raf555%2Fkbbi-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raf555","download_url":"https://codeload.github.com/raf555/kbbi-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raf555%2Fkbbi-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29534537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T05:00:25.817Z","status":"ssl_error","status_checked_at":"2026-02-17T04:57:16.126Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","kamus-besar-bahasa-indonesia","kbbi","kbbi-api","rest-api"],"created_at":"2026-01-16T18:58:56.519Z","updated_at":"2026-05-10T13:08:13.683Z","avatar_url":"https://github.com/raf555.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kbbi-api\n\n[![godoc](https://godoc.org/github.com/raf555/kbbi-api/pkg/kbbi?status.svg)][godoc]\n\n[godoc]: https://godoc.org/github.com/raf555/kbbi-api/pkg/kbbi\n\nProbably the most complete public KBBI API you will ever find. \n\n\n## Documentation\n\n- Swagger docs: [https://kbbi.raf555.dev/swagger/index.html](https://kbbi.raf555.dev/swagger/index.html)\n\n- Sample API endpoint: [https://kbbi.raf555.dev/api/v1/entry/apel](https://kbbi.raf555.dev/api/v1/entry/apel)\n\n- Sample response:\n\n```json\n{\n  \"lemma\": \"bermalas-malasan\",\n  \"entries\": [\n    {\n      \"entry\": \"ber.ma.las-ma.las.an\",\n      \"baseWord\": \"malas\",\n      \"entryVariants\": [],\n      \"pronunciation\": \"\",\n      \"definitions\": [\n        {\n          \"definition\": \"bermalas-malas\",\n          \"referencedLemma\": \"\",\n          \"labels\": [\n            {\n              \"code\": \"v\",\n              \"name\": \"Verba\",\n              \"kind\": \"Kelas Kata\"\n            }\n          ],\n          \"usageExamples\": [\n            \"dia selalu ~ saat hari libur\"\n          ]\n        }\n      ],\n      \"nonStandardWords\": [],\n      \"variants\": [],\n      \"compoundWords\": [],\n      \"derivedWords\": [],\n      \"proverbs\": [],\n      \"metaphors\": []\n    }\n  ]\n}\n```\n\n\n## Data Source\n\nLatest edition: `Oktober 2025`\n\nThe dictionary is mirrored from [Official KBBI Application][] `v6.1.0` with some hand-edited data and customly decoded for author's requirement.\n\nThe dictionary used by the server will be updated as soon as new version of the application is released.\n\n## Issues\n\nFor any issues, be it from the API server or from the dictionary, or questions or inquiries or suggestions, feel free to raise a new issue. I'll try to look into it as soon as possible.\n\nIf you are willing to open PR to fix any open issues, I'm more than welcome to review it.\n\n## Run the Application\n\nThe dictionary assets are encrypted (for now). You'll need the assets to run the server, therefore provided samples in the [assets/sample](assets/sample) directory.\n\nYou can rename the [.env.sample](.env.sample) file to be `.env` and run the server directly with this command.\n\n```sh\ngo run ./cmd/kbbi\n```\n\nTo regenerate the swagger, run this command.\n\n```sh\ngo generate ./...\n```\n\nOnce success, you should be able to open http://localhost:8888 in your browser.\n\n## Background and Motivation\n\n**TL;DR**. Official KBBI website sucks, I build my own API.\n\n\u003cdetails\u003e\n  \u003csummary\u003eExpand\u003c/summary\u003e\n\nDue to recent [Official KBBI Website][] introducing Cloudflare firewall to their site and limiting user's request to only a couple of lemmas for each day, my personal chatbot which scraps the website for the lemma information became unusable. Even as an actual user, it is kind of frustrating, really.\n\n\u003cimg width=\"942\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/7dc09b77-cde6-4140-ab84-f129823c7816\" /\u003e\n\nI did a bit of research to find a free public KBBI API on the internet, but most of them don't really give the information that I need that I have used on the chatbot (e.g. they does not fully cover the KBBI lemma response cases). Most of the APIs I found are also doing scraping to the KBBI website, which makes them unusable anyway. I found some that uses offline data though, but most of them are outdated already, and they don't really fit into my chatbot.\n\nSince I'm too lazy to make a Cloudflare bypasser, I decided to make this API server. Since I want to make the information provided by this API to be as complete as possible and as fast as possible (for my chatbot), I opted for looking into the [Official KBBI Application][] since it is offline and it should have all the information I need.\n\nLong story short, I was able to scrap all lemmas from there. All data used in this API is completely from the application (with some additional hand-edited data). They are then decoded and parsed to fit my requirement. It ends up perfectly as I wanted. The final product is the one you see on the API response.\n\nFeel free to use the API as much as you want, there is no rate limiting as of now (**not yet, at least**). As long as the server can handle the traffic and does not exceed the free resources usage on the cloud provider I used, lol.\n\u003c/details\u003e\n\n[Official KBBI Website]: https://kbbi.kemdikbud.go.id/\n\n[Official KBBI Application]: https://play.google.com/store/apps/details?id=yuku.kbbi5\n\n## Copyright and Data Ownership\n\n\u003e [!WARNING]  \n\u003e All data in this dictionary is fully owned by **Badan Pengembangan dan Pembinaan Bahasa, Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi Republik Indonesia**.\n\u003e \n\u003e The commercial use of this dataset is strictly prohibited and subject to legal provisions under: **Indonesian Law No. 28 of 2014 on Copyright**.\n\u003e\n\u003e The accompanying code is licensed separately and is not subject to the same restrictions as the dictionary data. The code is provided under MIT License, allowing its use, modification, and distribution according to the terms of that license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraf555%2Fkbbi-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraf555%2Fkbbi-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraf555%2Fkbbi-api/lists"}