Free developer API
A free JSON API for the things scripts keep needing. No API key, no signup. CORS is open, so it works from browsers, CI pipelines, and serverless functions alike. Fair-use limit: 60 requests per minute per IP — responses carry X-RateLimit headers, and 429s include Retry-After.
Every v1 response uses the same envelope: { "ok": true, "data": … } on success, { "ok": false, "error": "…" } on failure. Machine-readable spec: /api/v1/openapi.json
Need more than the fair-use limit? Tell us about your use case.
Quick start
JavaScript
const res = await fetch("https://devtoolshub.tools/api/v1/hash", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ text: "hello", algo: "sha256" }),
});
const { ok, data, error } = await res.json();
if (ok) console.log(data.hash);Python
import requests
res = requests.get(
"https://devtoolshub.tools/api/v1/cron/next",
params={"expr": "0 9 * * 1-5", "count": 3},
)
body = res.json()
if body["ok"]:
for run in body["data"]["next_runs"]:
print(run["iso"])API v1 endpoints
GET/api/v1/uuid
Generate cryptographically random UUID v4 values.
- count
- How many to generate, 1–100 (default 1)
Example
curl "https://devtoolshub.tools/api/v1/uuid?count=3"
Response
{
"ok": true,
"data": { "uuids": ["3f2b8c1e-…", "9d4a4f6b-…", "8a2e5c7d-…"], "count": 3, "version": 4 }
}GET/api/v1/hash
Hash text with MD5, SHA-1, SHA-256, or SHA-512. Also accepts POST { text, algo }.
- text
- Text to hash (required)
- algo
- md5, sha1, sha256, sha512 (default sha256)
Example
curl "https://devtoolshub.tools/api/v1/hash?text=hello&algo=sha256"
Response
{
"ok": true,
"data": { "algo": "sha256", "hash": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", "length": 5 }
}GET/api/v1/base64
Base64 encode or decode. Also accepts POST { text, action }.
- text
- Text to encode/decode (required)
- action
- encode or decode (default encode)
Example
curl "https://devtoolshub.tools/api/v1/base64?text=hello&action=encode"
Response
{ "ok": true, "data": { "action": "encode", "result": "aGVsbG8=" } }POST/api/v1/json/validate
Validate JSON. Send { "json": "<string>" } or the raw document as the body. Returns error line/column when invalid.
- json
- The JSON string to validate (body field, or raw body)
Example
curl -X POST "https://devtoolshub.tools/api/v1/json/validate" \
-H "Content-Type: application/json" \
-d '{"json":"{\"a\":1,}"}'Response
{
"ok": true,
"data": { "valid": false, "error": "Unexpected token '}' …", "line": 1, "column": 8 }
}GET/api/v1/jwt/decode
Decode a JWT's header and payload. Signatures are never verified server-side — decode only. Also accepts POST { token }.
- token
- The JWT (required)
Example
curl "https://devtoolshub.tools/api/v1/jwt/decode?token=eyJhbGciOi..."
Response
{
"ok": true,
"data": { "header": { "alg": "HS256" }, "payload": { "sub": "123" }, "expired": null, "exp": null }
}GET/api/v1/cron/next
Parse a cron expression: plain-English description and next run times (UTC).
- expr
- The cron expression, URL-encoded (required)
- count
- Number of upcoming runs, 1–20 (default 5)
Example
curl "https://devtoolshub.tools/api/v1/cron/next?expr=0%209%20*%20*%201-5&count=3"
Response
{
"ok": true,
"data": {
"expression": "0 9 * * 1-5",
"description": "At 09:00, on weekdays.",
"next_runs": [{ "iso": "2026-07-14T09:00:00.000Z", "unix": 1786352400 }, …]
}
}GET/api/v1/time
Current time in the formats developers actually need.
Example
curl "https://devtoolshub.tools/api/v1/time"
Response
{
"ok": true,
"data": { "iso": "2026-07-13T05:30:00.000Z", "unix": 1783150200, "unix_ms": 1783150200000, "utc": "…" }
}Additional endpoints
These predate v1 and keep their original response shapes. They will be joined by v1 equivalents over time; nothing here is going away.
GET/api/network/dns
DNS lookup for any record type.
- host
- Hostname to resolve (required)
- type
- A, AAAA, CNAME, MX, TXT, NS, SOA, SRV, PTR, CAA (default A)
Example
curl "https://devtoolshub.tools/api/network/dns?host=example.com&type=MX"
Response
{ "host": "example.com", "type": "MX", "records": [ … ] }GET/api/network/headers
Fetch the response headers another server returns for a URL.
- url
- Absolute URL to inspect (required)
Example
curl "https://devtoolshub.tools/api/network/headers?url=https://example.com"
Response
{ "status": 200, "headers": { "content-type": "text/html", … } }POST/api/code/minify
Minify JavaScript, CSS, or HTML with build-grade minifiers.
- code
- Source code (body field, required)
- language
- js, css, or html (body field, required)
Example
curl -X POST "https://devtoolshub.tools/api/code/minify" \
-H "Content-Type: application/json" \
-d '{"language":"js","code":"function add (a, b) { return a + b; }"}'Response
{ "minified": "function add(n,d){return n+d}" }Prefer keeping data out of HTTP entirely? Every tool on DevToolsHub also runs fully in your browser — the API exists for scripts and automation, while the web tools never send your input to our servers. See how it works.