Dokumentasi API devpack: Gratis, Tanpa Daftar
Terjemahan ini hanya untuk informasi. Versi bahasa Inggris yang berlaku secara hukum.
Tambahkan ke ChromeTambahkan ke Firefox
Gunakan tools devpack yang paling berguna langsung dari kode kamu. API ini gratis, tidak perlu daftar, dan mengembalikan JSON. Setiap endpoint menerima GET dengan query parameter atau POST dengan body JSON.
Semua endpoint
Teks dan data
hashbase64url-encodeslugtext-statsjson-formatjwt-decodesort-linesdedupe-linesfind-replaceword-frequencycase-converthtml-entitiescsv-to-jsonjson-to-csvMulai cepat
Base URL-nya adalah http://localhost:3000/v1.
curl "http://localhost:3000/v1/hash?text=hello"
JavaScript
const res = await fetch('http://localhost:3000/v1/uuid?count=2');
const { ok, data, error } = await res.json();
if (!ok) throw new Error(error.message);
console.log(data.uuids);
Python
import requests
r = requests.post('http://localhost:3000/v1/json-format', json={'json': '{"a":1}'})
print(r.json()['data']['formatted'])
Kirim data rahasia, seperti token atau password, di body POST, bukan di URL, karena URL bisa tercatat di log. API ini bisa dipanggil langsung dari browser (CORS terbuka). Deskripsi OpenAPI yang bisa dibaca mesin juga tersedia.
Contoh kode
Klien JavaScript dan Python yang siap pakai, skrip laporan kesehatan website, dan tutorial langkah demi langkah tersedia di GitHub: devpack API examples.
Respons
Panggilan yang berhasil mengembalikan {"ok": true, "data": {…}}. Panggilan yang gagal mengembalikan error dengan kode yang konsisten:
{
"ok": false,
"error": { "code": "invalid_request", "message": "Missing required parameter: text" }
}
| Status | Kode | Arti |
|---|---|---|
| 400 | invalid_request | Parameter kurang atau tidak valid |
| 401 | invalid_key | API key tidak valid |
| 404 | not_found | Endpoint tidak dikenal |
| 429 | rate_limited | Batas tercapai. Tunggu selama Retry-After detik |
| 502 | upstream_error | Situs atau layanan yang dicek gagal merespons |
| 503 | unavailable | API sedang tidak aktif sementara |
Batas penggunaan
Tidak perlu key. Penggunaan gratis dihitung per alamat IP:
| Jenis | Batas |
|---|---|
| Teks, generator, dan konversi | 60 request per menit |
| Pengecekan jaringan | 15 request per menit |
| Semua request gabungan | 1.000 request per hari |
Setiap respons menyertakan header X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Daily-Limit, dan X-RateLimit-Daily-Remaining.
Kunci API
Kunci tidak diperlukan untuk penggunaan gratis. Jika kamu sudah diberi kunci, kirimkan melalui header:
curl -H "X-API-Key: YOUR_KEY" "http://localhost:3000/v1/uuid"
Butuh batas yang lebih tinggi? Hubungi kami.
Penggunaan wajar dan privasi
API ini disediakan apa adanya, sesuai Ketentuan kami. Hanya cek situs yang memang kamu boleh uji, dan jangan gunakan API untuk membebani layanan apa pun. Kami tidak menyimpan teks yang kamu kirim. Pengecekan jaringan hanya bisa menjangkau alamat publik. Batas dan endpoint dapat berubah; perubahan yang tidak kompatibel akan dirilis dalam versi baru.
Teks dan data
/v1/hash
GETPOSTHash teks dengan MD5 atau SHA.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks yang akan di-hash, maksimal 100 KB |
algorithm | string | Tidak | md5, sha1, sha256 (bawaan), sha384 atau sha512 |
encoding | string | Tidak | hex (bawaan) atau base64 |
Permintaan
curl "http://localhost:3000/v1/hash?text=hello&algorithm=sha256"
Respons
{
"ok": true,
"data": {
"algorithm": "sha256",
"encoding": "hex",
"hash": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
}
}/v1/base64
GETPOSTEncode atau decode Base64.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Input, maksimal 100 KB |
action | string | Tidak | encode (bawaan) atau decode |
url_safe | boolean | Tidak | Gunakan alfabet yang aman untuk URL. Bawaan false |
Permintaan
curl "http://localhost:3000/v1/base64?text=hello+world&action=encode"
Respons
{
"ok": true,
"data": {
"action": "encode",
"result": "aGVsbG8gd29ybGQ="
}
}/v1/url-encode
GETPOSTLakukan percent-encode atau decode pada string.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Input, maksimal 100 KB |
action | string | Tidak | encode (bawaan) atau decode |
Permintaan
curl "http://localhost:3000/v1/url-encode?text=a+b%26c%3Dd&action=encode"
Respons
{
"ok": true,
"data": {
"action": "encode",
"result": "a%20b%26c%3Dd"
}
}/v1/slug
GETPOSTUbah teks menjadi slug URL.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks yang akan dikonversi |
separator | string | Tidak | - (bawaan) atau _ |
Permintaan
curl "http://localhost:3000/v1/slug?text=Hello%2C+W%C3%B6rld%21+It%E2%80%99s+2026"
Respons
{
"ok": true,
"data": {
"slug": "hello-world-its-2026"
}
}/v1/text-stats
GETPOSTHitung kata, karakter, baris, dan waktu baca.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks, maksimal 100 KB |
Permintaan
curl "http://localhost:3000/v1/text-stats?text=One+two+three.+Four+five%21"
Respons
{
"ok": true,
"data": {
"characters": 25,
"charactersNoSpaces": 21,
"words": 5,
"sentences": 2,
"lines": 1,
"readingTimeSeconds": 2
}
}/v1/json-format
GETPOSTValidasi JSON, lalu format rapi atau minify.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
json | string | Ya | Teks JSON, maksimal 100 KB |
indent | integer | Tidak | Jumlah spasi per level, 0–8. Bawaan 2 |
minify | boolean | Tidak | Hapus semua spasi kosong. Bawaan false |
Permintaan
curl "http://localhost:3000/v1/json-format?json=%7B%22name%22%3A%22devpack%22%2C%22tools%22%3A500%7D&indent=2"
Respons
{
"ok": true,
"data": {
"valid": true,
"formatted": "{\n \"name\": \"devpack\",\n \"tools\": 500\n}"
}
}/v1/jwt-decode
GETPOSTDecode JWT tanpa memverifikasi tanda tangannya.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
token | string | Ya | JWT-nya |
Permintaan
curl "http://localhost:3000/v1/jwt-decode?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMiLCJuYW1lIjoiQWRhIiwiZXhwIjo0MTAyNDQ0ODAwfQ.c2lnbmF0dXJl"
Respons
{
"ok": true,
"data": {
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "123",
"name": "Ada",
"exp": 4102444800
},
"expired": false,
"signatureVerified": false
}
}/v1/sort-lines
GETPOSTUrutkan baris teks.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Satu item per baris, maksimal 100 KB |
order | string | Tidak | asc (bawaan) atau desc |
numeric | boolean | Tidak | Bandingkan angka berdasarkan nilainya. Bawaan false |
Permintaan
curl "http://localhost:3000/v1/sort-lines?text=pear%0Aapple%0Amango&order=asc"
Respons
{
"ok": true,
"data": {
"lines": 3,
"result": "apple\nmango\npear"
}
}/v1/dedupe-lines
GETPOSTHapus baris duplikat, dengan menyimpan kemunculan pertama.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Satu item per baris, maksimal 100 KB |
ignore_case | boolean | Tidak | Anggap A dan a sama. Bawaan false |
trim | boolean | Tidak | Abaikan spasi di awal dan akhir baris. Bawaan true |
Permintaan
curl "http://localhost:3000/v1/dedupe-lines?text=one%0Atwo%0Aone%0ATwo&ignore_case=true"
Respons
{
"ok": true,
"data": {
"before": 4,
"after": 2,
"removed": 2,
"result": "one\ntwo"
}
}/v1/find-replace
GETPOSTCari dan ganti teks biasa.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks, maksimal 100 KB |
find | string | Ya | Teks yang dicari |
replace | string | Tidak | Teks pengganti. Bawaan: kosong |
ignore_case | boolean | Tidak | Abaikan huruf besar dan kecil. Bawaan false |
Permintaan
curl "http://localhost:3000/v1/find-replace?text=Hello+world%2C+hello+there&find=hello&replace=Hi&ignore_case=true"
Respons
{
"ok": true,
"data": {
"replacements": 2,
"result": "Hi world, Hi there"
}
}/v1/word-frequency
GETPOSTHitung seberapa sering setiap kata muncul.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks, maksimal 100 KB |
limit | integer | Tidak | Jumlah kata yang ditampilkan, 1–100. Bawaan 20 |
Permintaan
curl "http://localhost:3000/v1/word-frequency?text=the+cat+and+the+dog+and+the+bird&limit=3"
Respons
{
"ok": true,
"data": {
"total": 8,
"unique": 5,
"words": [
{
"word": "the",
"count": 3,
"percent": 37.5
},
{
"word": "and",
"count": 2,
"percent": 25
},
{
"word": "bird",
"count": 1,
"percent": 12.5
}
]
}
}/v1/case-convert
GETPOSTUbah huruf kapital teks, seperti camelCase atau snake_case.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks, maksimal 100 KB |
to | string | Ya | lower, upper, title, sentence, camel, pascal, snake, kebab atau constant |
Permintaan
curl "http://localhost:3000/v1/case-convert?text=Hello+big+world&to=snake"
Respons
{
"ok": true,
"data": {
"to": "snake",
"result": "hello_big_world"
}
}/v1/html-entities
GETPOSTEscape atau unescape entitas HTML.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Teks, maksimal 100 KB |
action | string | Tidak | encode (bawaan) atau decode |
Permintaan
curl "http://localhost:3000/v1/html-entities?text=%3Ca+href%3D%22%2F%22%3ETom+%26+Jerry%3C%2Fa%3E&action=encode"
Respons
{
"ok": true,
"data": {
"action": "encode",
"result": "<a href="/">Tom & Jerry</a>"
}
}/v1/csv-to-json
GETPOSTKonversi CSV ke JSON.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
csv | string | Ya | CSV, maksimal 100 KB |
delimiter | string | Tidak | comma (bawaan), semicolon, tab atau pipe |
header | boolean | Tidak | Baris pertama berisi nama kolom. Bawaan true |
Permintaan
curl "http://localhost:3000/v1/csv-to-json?csv=name%2Cage%0AAda%2C36%0AGrace%2C45"
Respons
{
"ok": true,
"data": {
"rows": 2,
"columns": [
"name",
"age"
],
"data": [
{
"name": "Ada",
"age": "36"
},
{
"name": "Grace",
"age": "45"
}
]
}
}/v1/json-to-csv
GETPOSTKonversi array objek JSON ke CSV.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
json | string | Ya | Array JSON berisi objek, maksimal 100 KB |
Permintaan
curl "http://localhost:3000/v1/json-to-csv?json=%5B%7B%22name%22%3A%22Ada%22%2C%22age%22%3A36%7D%2C%7B%22name%22%3A%22Grace%22%2C%22age%22%3A45%7D%5D"
Respons
{
"ok": true,
"data": {
"rows": 2,
"columns": [
"name",
"age"
],
"csv": "name,age\nAda,36\nGrace,45"
}
}Generator
/v1/uuid
GETPOSTBuat UUID versi 4 secara acak.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
count | integer | Tidak | 1–100. Bawaan 1 |
Permintaan
curl "http://localhost:3000/v1/uuid?count=2"
Respons
{
"ok": true,
"data": {
"uuids": [
"8ef6c45b-f370-4158-9da1-62fd36618762",
"d1efb561-dc83-47f4-9c8d-1c5d4e7ed230"
]
}
}/v1/password
GETPOSTBuat kata sandi acak yang kuat.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
length | integer | Tidak | 8–128. Bawaan 20 |
count | integer | Tidak | 1–50. Bawaan 1 |
symbols | boolean | Tidak | Sertakan simbol. Bawaan true |
numbers | boolean | Tidak | Sertakan angka. Bawaan true |
uppercase | boolean | Tidak | Sertakan huruf kapital. Bawaan true |
Permintaan
curl "http://localhost:3000/v1/password?length=16&count=1"
Respons
{
"ok": true,
"data": {
"passwords": [
"!8ZSoA_n?cqA#t-6"
]
}
}/v1/nanoid
GETPOSTBuat ID acak yang pendek dan aman untuk URL.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
size | integer | Tidak | Panjang, 4–64. Bawaan 21 |
count | integer | Tidak | 1–100. Bawaan 1 |
Permintaan
curl "http://localhost:3000/v1/nanoid?size=12&count=2"
Respons
{
"ok": true,
"data": {
"ids": [
"GLVwmQgV1D-u",
"ikxhPJAC2-b8"
]
}
}/v1/hmac
GETPOSTBuat tanda tangan HMAC, misalnya untuk menandatangani webhook.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Ya | Pesan, maksimal 100 KB |
secret | string | Ya | Kunci rahasia. Kirim di body POST |
algorithm | string | Tidak | sha1, sha256 (bawaan) atau sha512 |
encoding | string | Tidak | hex (bawaan) atau base64 |
Permintaan
curl "http://localhost:3000/v1/hmac?text=hello&secret=my-secret"
Respons
{
"ok": true,
"data": {
"algorithm": "sha256",
"encoding": "hex",
"signature": "7c1ce32402750db1149385ac20603beeaca8909906d1e81c08f4f5c7db8fbe94"
}
}/v1/lorem-ipsum
GETPOSTBuat teks placeholder.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
paragraphs | integer | Tidak | 1–20. Bawaan 1 |
words | integer | Tidak | Jumlah kata per paragraf, 5–200. Bawaan 40 |
Permintaan
curl "http://localhost:3000/v1/lorem-ipsum?paragraphs=1&words=12"
Respons
{
"ok": true,
"data": {
"paragraphs": [
"Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor."
]
}
}/v1/random
GETPOSTBuat bilangan bulat acak yang aman.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
min | integer | Tidak | Nilai terkecil. Bawaan 1 |
max | integer | Tidak | Nilai terbesar. Bawaan 100 |
count | integer | Tidak | 1–100. Bawaan 1 |
unique | boolean | Tidak | Tanpa pengulangan. Bawaan false |
Permintaan
curl "http://localhost:3000/v1/random?min=1&max=6&count=2"
Respons
{
"ok": true,
"data": {
"numbers": [
2,
4
]
}
}Konversi
/v1/color
GETPOSTKonversi warna antara hex, RGB, dan HSL.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | string | Ya | Contoh: #ff6600, rgb(255, 102, 0), atau hsl(24, 100%, 50%) |
Request
curl "http://localhost:3000/v1/color?value=%23ff6600"
Response
{
"ok": true,
"data": {
"hex": "#ff6600",
"rgb": {
"r": 255,
"g": 102,
"b": 0
},
"hsl": {
"h": 24,
"s": 100,
"l": 50
},
"css": {
"rgb": "rgb(255, 102, 0)",
"hsl": "hsl(24, 100%, 50%)"
}
}
}/v1/timestamp
GETPOSTKonversi antara waktu Unix dan tanggal ISO 8601.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | string | Tidak | Detik Unix, milidetik Unix, atau tanggal ISO. Default: sekarang |
Request
curl "http://localhost:3000/v1/timestamp?value=1798761600"
Response
{
"ok": true,
"data": {
"unix": 1798761600,
"unixMs": 1798761600000,
"iso": "2027-01-01T00:00:00.000Z",
"utc": "Fri, 01 Jan 2027 00:00:00 GMT"
}
}/v1/url-parse
GETPOSTPecah URL menjadi bagian-bagiannya.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | URL yang akan diurai |
Request
curl "http://localhost:3000/v1/url-parse?url=https%3A%2F%2Fdevpack.app%3A8443%2Ftools%3Fq%3Djson%26page%3D2%23top"
Response
{
"ok": true,
"data": {
"protocol": "https",
"host": "devpack.app",
"port": "8443",
"path": "/tools",
"query": {
"q": "json",
"page": "2"
},
"hash": "top",
"origin": "https://devpack.app:8443"
}
}/v1/number-base
GETPOSTKonversi bilangan bulat antara basis 2 dan 36.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | string | Ya | Angka yang akan dikonversi |
from | integer | Tidak | Basis input. Default 10 |
to | integer | Tidak | Basis output. Default 16 |
Request
curl "http://localhost:3000/v1/number-base?value=255&from=10&to=16"
Response
{
"ok": true,
"data": {
"result": "ff",
"decimal": "255"
}
}/v1/unit-convert
GETPOSTKonversi satuan panjang, berat, suhu, data, dan waktu.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | number | Ya | Jumlah |
from | string | Ya | m, km, cm, mm, in, ft, yd, mi, kg, g, mg, lb, oz, t, c, f, k, b, kb, mb, gb, tb, kib, mib, gib, ms, s, min, h, d, wk |
to | string | Ya | Satuan tujuan, dari jenis yang sama |
Request
curl "http://localhost:3000/v1/unit-convert?value=10&from=km&to=mi"
Response
{
"ok": true,
"data": {
"value": 10,
"from": "km",
"to": "mi",
"result": 6.21371192237
}
}/v1/date-diff
GETPOSTCari selisih waktu antara dua tanggal.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
from | string | Ya | Tanggal awal, dalam format ISO |
to | string | Tidak | Tanggal akhir. Default: sekarang |
Request
curl "http://localhost:3000/v1/date-diff?from=2026-01-01&to=2026-10-30"
Response
{
"ok": true,
"data": {
"days": 302,
"weeks": 43.14,
"hours": 7248,
"minutes": 434880,
"seconds": 26092800
}
}/v1/cron-next
GETPOSTTampilkan waktu eksekusi berikutnya dari ekspresi cron, dalam UTC.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
expression | string | Ya | Lima bagian: menit jam hari bulan hari-dalam-minggu |
count | integer | Tidak | 1–20. Default 5 |
from | string | Tidak | Tanggal awal. Default: sekarang |
Request
curl "http://localhost:3000/v1/cron-next?expression=0+9+*+*+1&count=2&from=2026-10-30T00%3A00%3A00Z"
Response
{
"ok": true,
"data": {
"expression": "0 9 * * 1",
"runs": [
"2026-11-02T09:00:00.000Z",
"2026-11-09T09:00:00.000Z"
]
}
}/v1/roman-numeral
GETPOSTKonversi antara angka dan angka Romawi.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | string | Ya | Angka dari 1 sampai 3999, atau angka Romawi |
Request
curl "http://localhost:3000/v1/roman-numeral?value=2026"
Response
{
"ok": true,
"data": {
"number": 2026,
"roman": "MMXXVI"
}
}/v1/percentage
GETPOSTHitung persentase dan perubahan persentase.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
value | number | Ya | Angka pertama |
of | number | Ya | Angka kedua |
mode | string | Tidak | percent_of (default: nilai% dari “of”), what_percent (nilai adalah berapa % dari “of”), atau change (dari nilai ke “of”) |
Request
curl "http://localhost:3000/v1/percentage?value=20&of=150&mode=percent_of"
Response
{
"ok": true,
"data": {
"mode": "percent_of",
"result": 30
}
}/v1/date-add
GETPOSTTambah atau kurangi waktu dari sebuah tanggal.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
date | string | Ya | Tanggal awal, dalam format ISO |
days | integer | Tidak | Jumlah hari yang ditambahkan. Gunakan tanda minus untuk mengurangi |
months | integer | Tidak | Jumlah bulan yang ditambahkan |
years | integer | Tidak | Jumlah tahun yang ditambahkan |
Request
curl "http://localhost:3000/v1/date-add?date=2026-10-31&days=30"
Response
{
"ok": true,
"data": {
"result": "2026-11-30",
"iso": "2026-11-30T00:00:00.000Z",
"weekday": "Monday"
}
}/v1/age
GETPOSTHitung usia dalam tahun, bulan, dan hari.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
birthdate | string | Ya | Tanggal lahir, dalam format ISO |
on | string | Tidak | Tanggal yang dijadikan acuan. Default: hari ini |
Request
curl "http://localhost:3000/v1/age?birthdate=1990-05-15&on=2026-10-31"
Response
{
"ok": true,
"data": {
"years": 36,
"months": 5,
"days": 16,
"totalDays": 13318
}
}/v1/http-status
GETPOSTCari arti kode status HTTP.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
code | integer | Ya | 100–599 |
Request
curl "http://localhost:3000/v1/http-status?code=404"
Response
{
"ok": true,
"data": {
"code": 404,
"name": "Not Found",
"class": "Client error",
"docs": "http://localhost:3000/http-status-codes/404"
}
}/v1/user-agent
GETPOSTUrai string user agent. Secara default menggunakan milik pemanggil.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
ua | string | Tidak | String user agent |
Request
curl "http://localhost:3000/v1/user-agent?ua=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F130.0.0.0+Safari%2F537.36"
Response
{
"ok": true,
"data": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
"browser": {
"name": "Chrome",
"version": "130.0.0.0"
},
"os": {
"name": "Windows",
"version": "10.0"
},
"device": "desktop",
"bot": false
}
}Pemasaran
/v1/ab-test
GETPOSTCek apakah hasil uji A/B signifikan secara statistik.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
visitors_a | integer | Ya | Pengunjung untuk versi A |
conversions_a | integer | Ya | Konversi untuk versi A |
visitors_b | integer | Ya | Pengunjung untuk versi B |
conversions_b | integer | Ya | Konversi untuk versi B |
confidence | integer | Tidak | 90, 95 (default) atau 99 |
Permintaan
curl "http://localhost:3000/v1/ab-test?visitors_a=1000&conversions_a=100&visitors_b=1000&conversions_b=130"
Respons
{
"ok": true,
"data": {
"rateA": 0.1,
"rateB": 0.13,
"uplift": 0.3,
"zScore": 2.1027,
"pValue": 0.035488,
"confidence": 95,
"significant": true,
"winner": "B"
}
}/v1/ab-sample-size
GETPOSTHitung berapa pengunjung yang dibutuhkan untuk uji A/B.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
baseline | number | Ya | Tingkat konversi saat ini dalam persen, misalnya 5 |
change | number | Ya | Perubahan relatif terkecil yang ingin dideteksi dalam persen, misalnya 20 |
confidence | integer | Tidak | 90, 95 (default) atau 99 |
power | integer | Tidak | 80 (default) atau 90 |
daily_visitors | integer | Tidak | Pengunjung harian, untuk memperkirakan durasi uji |
Permintaan
curl "http://localhost:3000/v1/ab-sample-size?baseline=5&change=20&daily_visitors=1000"
Respons
{
"ok": true,
"data": {
"perVersion": 8158,
"total": 16316,
"expectedRate": 6,
"days": 17
}
}/v1/roas
GETPOSTHitung return on ad spend (ROAS) dan ROAS titik impas.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
spend | number | Ya | Belanja iklan |
revenue | number | Ya | Pendapatan dari iklan |
margin | number | Tidak | Margin keuntungan dalam persen, untuk ROAS titik impas |
Permintaan
curl "http://localhost:3000/v1/roas?spend=1000&revenue=4000&margin=40"
Respons
{
"ok": true,
"data": {
"roas": 4,
"roasPercent": 400,
"net": 3000,
"breakEvenRoas": 2.5,
"profit": 600
}
}/v1/ad-metrics
GETPOSTHitung CPM, CPC, CTR, CPA, dan tingkat konversi.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
cost | number | Ya | Belanja iklan |
impressions | integer | Tidak | Impresi |
clicks | integer | Tidak | Klik |
conversions | integer | Tidak | Konversi |
Permintaan
curl "http://localhost:3000/v1/ad-metrics?cost=500&impressions=20000&clicks=400&conversions=20"
Respons
{
"ok": true,
"data": {
"cpm": 25,
"cpc": 1.25,
"ctr": 2,
"conversionRate": 5,
"cpa": 25
}
}/v1/profit-margin
GETPOSTHitung laba, margin, dan markup.
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
cost | number | Ya | Biaya |
price | number | Ya | Harga jual |
Permintaan
curl "http://localhost:3000/v1/profit-margin?cost=75&price=100"
Respons
{
"ok": true,
"data": {
"profit": 25,
"marginPercent": 25,
"markupPercent": 33.33
}
}Jaringan
/v1/ip
GETPOSTMengembalikan alamat IP pemanggil.
Permintaan
curl "http://localhost:3000/v1/ip"
Respons
{
"ok": true,
"data": {
"ip": "203.0.113.42",
"version": "IPv4"
}
}/v1/dns
GETPOSTCari rekaman DNS. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
domain | string | Ya | Domain atau alamat IPv4 |
types | string | Tidak | Dipisah koma: A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV, PTR. Default: set umum |
Permintaan
curl "http://localhost:3000/v1/dns?domain=example.com&types=A%2CMX"
Respons
{
"ok": true,
"data": {
"domain": "example.com",
"results": [
{
"type": "A",
"status": 0,
"records": [
{
"name": "example.com",
"ttl": 300,
"type": "A",
"data": "93.184.215.14"
}
]
},
{
"type": "MX",
"status": 0,
"records": [
{
"name": "example.com",
"ttl": 3600,
"type": "MX",
"data": "0 mail.example.com."
}
]
}
],
"resolver": "Cloudflare 1.1.1.1 (DNS over HTTPS)"
}
}/v1/ssl
GETPOSTCek sertifikat SSL sebuah situs. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
domain | string | Ya | Nama host |
Permintaan
curl "http://localhost:3000/v1/ssl?domain=example.com"
Respons
{
"ok": true,
"data": {
"host": "example.com",
"valid": true,
"protocol": "TLSv1.3",
"daysLeft": 74,
"hostnameMatches": true,
"sans": [
"example.com",
"www.example.com"
],
"issuer": {
"C": "US",
"O": "Example CA",
"CN": "Example CA R1"
},
"validFrom": "Oct 1 00:00:00 2026 GMT",
"validTo": "Jan 12 23:59:59 2027 GMT"
}
}/v1/status
GETPOSTCek apakah sebuah website aktif. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | Halaman yang akan dicek |
Permintaan
curl "http://localhost:3000/v1/status?url=https%3A%2F%2Fexample.com"
Respons
{
"ok": true,
"data": {
"url": "https://example.com/",
"finalUrl": "https://example.com/",
"up": true,
"status": 200,
"time": 182,
"ttfb": 96,
"title": "Example Domain",
"server": "cloudflare",
"checkedAt": "2026-10-30T12:00:00.000Z"
}
}/v1/headers
GETPOSTBaca header HTTP dan beri nilai header keamanan. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | Halaman yang akan dicek |
Permintaan
curl "http://localhost:3000/v1/headers?url=https%3A%2F%2Fexample.com"
Respons
{
"ok": true,
"data": {
"url": "https://example.com/",
"status": 200,
"headers": {
"content-type": "text/html",
"server": "cloudflare"
},
"security": {
"score": 25,
"grade": "E",
"https": true,
"missing": [
"Content-Security-Policy",
"X-Frame-Options"
]
}
}
}/v1/redirects
GETPOSTTelusuri rantai redirect sebuah URL. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | URL yang akan ditelusuri |
Permintaan
curl "http://localhost:3000/v1/redirects?url=http%3A%2F%2Fexample.com"
Respons
{
"ok": true,
"data": {
"requested": "http://example.com/",
"final": "https://example.com/",
"status": 200,
"chain": [
{
"url": "http://example.com/",
"status": 301,
"time": 88
},
{
"url": "https://example.com/",
"status": 200,
"time": 126
}
],
"totalTime": 214
}
}/v1/whois
GETPOSTCari data registrasi domain atau IP (RDAP). Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
query | string | Ya | Domain atau alamat IP |
Permintaan
curl "http://localhost:3000/v1/whois?query=example.com"
Respons
{
"ok": true,
"data": {
"kind": "domain",
"query": "example.com",
"domain": "EXAMPLE.COM",
"source": "https://rdap.verisign.com/com/v1/domain/example.com",
"status": [
"client delete prohibited"
],
"registrar": "Example Registrar",
"ianaId": "376",
"created": "1995-08-14T04:00:00Z",
"updated": "2026-08-14T08:01:43Z",
"expires": "2027-08-13T04:00:00Z",
"dnssec": true,
"nameservers": [
"ns1.example.net",
"ns2.example.net"
],
"entities": []
}
}/v1/meta
GETPOSTBaca judul, deskripsi, dan tag sosial sebuah halaman. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | Halaman yang akan dibaca |
Permintaan
curl "http://localhost:3000/v1/meta?url=https%3A%2F%2Fexample.com"
Respons
{
"ok": true,
"data": {
"url": "https://example.com/",
"status": 200,
"title": "Example Domain",
"description": "An example page.",
"canonical": "https://example.com/",
"robots": null,
"openGraph": {
"title": "Example Domain",
"description": "An example page.",
"image": "https://example.com/og.png"
},
"twitter": {
"card": "summary_large_image",
"image": "https://example.com/og.png"
}
}
}/v1/robots
GETPOSTBaca robots.txt sebuah situs dan uji apakah sebuah path diizinkan. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | Halaman atau situs |
user_agent | string | Tidak | Crawler yang akan diuji. Default Googlebot |
Permintaan
curl "http://localhost:3000/v1/robots?url=https%3A%2F%2Fexample.com%2F&user_agent=Googlebot"
Respons
{
"ok": true,
"data": {
"exists": true,
"test": {
"path": "/",
"ua": "Googlebot",
"allowed": true,
"rule": null,
"group": "*"
},
"bots": [
{
"bot": "Googlebot",
"allowed": true,
"rule": null,
"group": "*"
},
{
"bot": "GPTBot",
"allowed": false,
"rule": "/",
"group": "gptbot"
}
]
}
}/v1/email-dns
GETPOSTCek pengaturan email MX, SPF, dan DMARC sebuah domain. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
domain | string | Ya | Domain |
Permintaan
curl "http://localhost:3000/v1/email-dns?domain=example.com"
Respons
{
"ok": true,
"data": {
"domain": "example.com",
"checks": [
{
"id": "spf",
"status": "ok",
"title": "SPF valid · 0/10 lookups · -all",
"detail": "v=spf1 -all"
},
{
"id": "dmarc",
"status": "ok",
"title": "DMARC enforced · p=reject",
"detail": "v=DMARC1;p=reject"
}
]
}
}/v1/tech
GETPOSTDeteksi teknologi yang dipakai sebuah website. Cek jaringan
Parameter
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | Situs yang akan dicek |
Permintaan
curl "http://localhost:3000/v1/tech?url=https%3A%2F%2Fexample.com"
Respons
{
"ok": true,
"data": {}
}