API publik
Base URL: https://api.sambasku.com/api/v1
API publik SambasKu untuk membaca kamus Melayu Sambas. Tanpa login. Respons memakai envelope JSON standar: success, data, dan meta (pagination bila ada).
Batas: 100 permintaan per menit per IP. Saat terlampaui, respons 429 dengan header Retry-After (detik). Hanya kata berstatus published. Draf dan kata belum tayang tidak tersedia di endpoint ini.
CORS: permintaan baca dari origin mana pun diizinkan (Access-Control-Allow-Origin). Permintaan ber-credentials (cookie/Authorization) hanya dari origin yang diizinkan situs dan konsol.
Konten kata (lemma, makna, terjemahan, contoh) bebas dikutip dengan tautan ke halaman katanya di https://sambasku.com. Cantumkan sumber bila data dipakai ulang di produk atau dataset.
Spesifikasi interaktif (Scalar): /docs · openapi.json
Konvensi
- Envelope:
{ success, data, meta? } - Auth: tidak perlu. Rate limit 100/menit/IP; 429 +
Retry-After. - Hanya kata
published. Cache publik singkat pada GET baca kata.
Cari kata
/words/searchPencarian kosakata. Arah default Sambas ke Indonesia (lemma). Pakai search_in=translation untuk Indonesia ke Sambas.
Parameter
q- Kata kunci (trim, maks 255). Kosong = daftar kosong / tanpa hasil bermakna.limit- 1-100, default 20.cursor- Cursor opaque ULID dari meta.next_cursor halaman sebelumnya.search_in- lemma (default) atau translation.word_type- Opsional: word | idiom | peribahasa | ungkapan.is_verified- Opsional: true | false. Omit = semua yang tayang.
Item list memuat lemma, word_type, status, is_verified, dan sense (gloss singkat seperti [n] gelas).
Bila search_in=translation, item bisa punya matched_translation.
Cache respons: Cache-Control public, max-age=60, s-maxage=300.
Contoh
Cuplikan respons
Detail kata by lemma
/words/lemma/:lemmaDetail lengkap satu kata published. Path yang sama dipakai situs publik (/id/words/{lemma}). Encode karakter khusus di lemma (spasi, apostrof).
Parameter
lemma- Segment path, case-insensitive (Cawan = cawan). EncodeURIComponent wajib untuk spasi dan apostrof.
Field penting: lemma, is_verified, meanings[].definition, meanings[].translations, examples, pronunciations, images.
404 bila lemma tidak ditemukan atau tidak published.
Homonim: bila ada beberapa published dengan lemma sama (beda huruf besar/kecil), dipilih yang is_verified=true dulu, lalu yang paling lama dibuat.
Cache respons: Cache-Control public, max-age=60, s-maxage=300.
Contoh
Cuplikan respons
Juga tersedia
Daftar A-Z
/wordsBrowsing korpus urut lemma. Filter letter (satu huruf A-Z), q (contains), is_verified=true untuk lemma yang boleh diindeks sitemap, cursor komposit opaque (beda bentuk dari /search).
Parameter
limit- 1-100, default 20.cursor- Cursor opaque dari meta.next_cursor.letter- Opsional: satu huruf a-z.q- Opsional: filter contains pada lemma.is_verified- Opsional: true | false. Sitemap memakai true.
Field updated_at dipakai sitemap untuk lastmod yang jujur.
Cache respons: Cache-Control public, max-age=60, s-maxage=300.
Contoh
Cuplikan respons
Detail kata by id
/words/:idSama bentuk respons dengan /words/lemma/:lemma. :id adalah ULID 26 karakter. Berguna untuk backlink lama yang memakai id, bukan lemma.
Parameter
id- ULID 26 karakter (contoh: 01JDWORDMAKATN000000000000).
404 bila id tidak ditemukan atau kata tidak published.
Contoh
Cuplikan respons
Endpoint lain (kata hari ini, feed terbaru, admin) tidak dibahas di halaman ini. Fokus halaman: baca kamus untuk aplikasi, agen, dan peneliti. Dump korpus terverifikasi untuk agen: https://sambasku.com/llms-full.txt


