API
Base URL: https://spincrus.uz/api. All endpoints accept and return JSON. Send your key in the x-api-key header. Without a key you get 100 calls per day per tool from one IP address.
Authentication & limits
| Plan | Daily calls | Burst | How to get |
|---|---|---|---|
| Free | 100 per tool | 10 req/s | No key needed |
| Pro | 50,000 | 10 req/s | Subscribe, then claim your key in the app or by email |
Every response carries x-ratelimit-limit and x-ratelimit-remaining. Over the limit → HTTP 429 with an upgrade link.
Endpoints
GET /v1/tools — list tools with their input schema.
POST /v1/tools/cron-expression-explainer
Paste any cron expression and get a plain-English explanation instantly. Supports ranges, steps, lists and @daily/@hourly aliases.
| Field | Type | Required |
|---|---|---|
expression | string | yes |
curl -X POST https://spincrus.uz/api/v1/tools/cron-expression-explainer -H "content-type: application/json" -d '{"expression":"0 9 * * 1-5"}' Response:
{
"ok": true,
"result": {
"expression": "0 9 * * 1-5",
"description": "At 09:00 on Monday through Friday.",
"fields": {
"minute": "0",
"hour": "9",
"dayOfMonth": "*",
"month": "*",
"dayOfWeek": "1-5"
}
}
} POST /v1/tools/readability-checker
Free readability score calculator: Flesch Reading Ease, Flesch-Kincaid grade, Gunning Fog and ARI, plus word count and reading time.
| Field | Type | Required |
|---|---|---|
text | text | yes |
curl -X POST https://spincrus.uz/api/v1/tools/readability-checker -H "content-type: application/json" -d '{"text":"The quick brown fox jumps over the lazy dog. It was a sunny day and everyone was happy."}' Response:
{
"ok": true,
"result": {
"words": 18,
"sentences": 2,
"syllables": 24,
"characters": 68,
"complexWords": 1,
"avgWordsPerSentence": 9,
"readingTimeSec": 5,
"fleschReadingEase": 84.9,
"fleschKincaidGrade": 3.7,
"gunningFog": 5.8,
"automatedReadabilityIndex": 0.9,
"level": "Easy (6th grade)"
}
} POST /v1/tools/json-to-csv
Convert JSON arrays to CSV online. Nested objects are flattened with dot notation, quotes are escaped correctly, works with large files.
| Field | Type | Required |
|---|---|---|
json | json | yes |
delimiter | string | no |
curl -X POST https://spincrus.uz/api/v1/tools/json-to-csv -H "content-type: application/json" -d '{"json":"[{\"id\":1,\"user\":{\"name\":\"Ada\"}},{\"id\":2,\"user\":{\"name\":\"Linus\"}}]"}' Response:
{
"ok": true,
"result": {
"csv": "id,user.name\n1,Ada\n2,Linus",
"rows": 2,
"columns": [
"id",
"user.name"
]
}
} POST /v1/tools/timestamp-converter
Convert Unix timestamps to human-readable dates and back. Handles seconds and milliseconds automatically, shows ISO 8601, UTC and relative time.
| Field | Type | Required |
|---|---|---|
value | string | yes |
unit | string | no |
curl -X POST https://spincrus.uz/api/v1/tools/timestamp-converter -H "content-type: application/json" -d '{"value":"1700000000","unit":"auto"}' Response:
{
"ok": true,
"result": {
"unixSeconds": 1700000000,
"unixMilliseconds": 1700000000000,
"iso": "2023-11-14T22:13:20.000Z",
"utc": "Tue, 14 Nov 2023 22:13:20 GMT",
"relative": "2 years ago"
}
} POST /v1/tools/jwt-decoder
Decode a JWT header and payload online. See algorithm, issued and expiry times and whether it has expired. Runs in your browser; nothing is uploaded.
| Field | Type | Required |
|---|---|---|
token | text | yes |
curl -X POST https://spincrus.uz/api/v1/tools/jwt-decoder -H "content-type: application/json" -d '{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"}' Response:
{
"ok": true,
"result": {
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
},
"signature": "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"algorithm": "HS256",
"issuedAt": "2018-01-18T01:30:22.000Z",
"expiresAt": null,
"notBefore": null,
"isExpired": null
}
} POST /v1/tools/slug-generator
Turn any title or text into a clean, SEO-friendly URL slug. Strips accents and special characters, lowercases, and joins words with hyphens or underscores.
| Field | Type | Required |
|---|---|---|
text | text | yes |
separator | string | no |
lowercase | boolean | no |
maxLength | number | no |
curl -X POST https://spincrus.uz/api/v1/tools/slug-generator -H "content-type: application/json" -d '{"text":"Café Économique — 10 Tips for Beginners!","separator":"-","lowercase":true}' Response:
{
"ok": true,
"result": {
"slug": "cafe-economique-10-tips-for-beginners",
"length": 37
}
} POST /v1/tools/base64
Encode text to Base64 or decode Base64 back to text online. Handles UTF-8, emoji and accents, supports URL-safe Base64 and runs entirely in your browser.
| Field | Type | Required |
|---|---|---|
text | text | yes |
mode | string | no |
urlSafe | boolean | no |
curl -X POST https://spincrus.uz/api/v1/tools/base64 -H "content-type: application/json" -d '{"text":"Hello, мир! 👋","mode":"encode","urlSafe":false}' Response:
{
"ok": true,
"result": {
"mode": "encode",
"output": "SGVsbG8sINC80LjRgCEg8J+Riw==",
"inputBytes": 19,
"outputBytes": 28
}
} POST /v1/tools/url-encode-decode
Encode or decode URLs and query strings online. Percent-encode special characters, UTF-8 and emoji, or decode %20 sequences back to readable text.
| Field | Type | Required |
|---|---|---|
text | text | yes |
mode | string | no |
scope | string | no |
plusAsSpace | boolean | no |
curl -X POST https://spincrus.uz/api/v1/tools/url-encode-decode -H "content-type: application/json" -d '{"text":"https://example.com/search?q=café & crème","mode":"encode","scope":"full","plusAsSpace":false}' Response:
{
"ok": true,
"result": {
"mode": "encode",
"scope": "full",
"output": "https://example.com/search?q=caf%C3%A9%20&%20cr%C3%A8me",
"inputLength": 41,
"outputLength": 55
}
} POST /v1/tools/json-formatter
Format, beautify, minify and validate JSON online. Pretty-print with custom indentation, sort keys, and get the exact line and column of syntax errors.
| Field | Type | Required |
|---|---|---|
text | text | yes |
mode | string | no |
indent | number | no |
sortKeys | boolean | no |
curl -X POST https://spincrus.uz/api/v1/tools/json-formatter -H "content-type: application/json" -d '{"text":"{\"name\":\"Ada\",\"tags\":[\"math\",\"code\"],\"born\":1815,\"address\":{\"city\":\"London\"}}","mode":"format","indent":2,"sortKeys":false}' Response:
{
"ok": true,
"result": {
"mode": "format",
"valid": true,
"output": "{\n \"name\": \"Ada\",\n \"tags\": [\n \"math\",\n \"code\"\n ],\n \"born\": 1815,\n \"address\": {\n \"city\": \"London\"\n }\n}",
"type": "object",
"keys": 5,
"depth": 2,
"inputLength": 77,
"outputLength": 116
}
} POST /v1/tools/case-converter
Convert text case online: UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE.
| Field | Type | Required |
|---|---|---|
text | text | yes |
style | string | no |
curl -X POST https://spincrus.uz/api/v1/tools/case-converter -H "content-type: application/json" -d '{"text":"The quick brown fox","style":"snake"}' Response:
{
"ok": true,
"result": {
"style": "snake",
"output": "the_quick_brown_fox",
"inputLength": 19,
"outputLength": 19
}
} POST /v1/tools/word-counter
Free online word counter: count words, characters, sentences and paragraphs, see the most used words and estimate reading and speaking time.
| Field | Type | Required |
|---|---|---|
text | text | yes |
curl -X POST https://spincrus.uz/api/v1/tools/word-counter -H "content-type: application/json" -d '{"text":"The quick brown fox jumps over the lazy dog. It was well-known that the dog never minded!"}' Response:
{
"ok": true,
"result": {
"words": 17,
"characters": 89,
"charactersNoSpaces": 73,
"sentences": 2,
"paragraphs": 1,
"lines": 1,
"uniqueWords": 14,
"averageWordLength": 4.1,
"readingTimeMinutes": 0.1,
"speakingTimeMinutes": 0.1,
"topWords": [
{
"word": "the",
"count": 3
},
{
"word": "dog",
"count": 2
},
{
"word": "brown",
"count": 1
},
{
"word": "fox",
"count": 1
},
{
"word": "it",
"count": 1
}
]
}
} POST /v1/tools/remove-duplicate-lines
Free online tool to remove duplicate lines from a list. Keep the first occurrence, ignore case or spaces, drop empty lines, optionally sort A–Z.
| Field | Type | Required |
|---|---|---|
text | text | yes |
caseSensitive | boolean | no |
trimWhitespace | boolean | no |
removeEmpty | boolean | no |
sort | boolean | no |
curl -X POST https://spincrus.uz/api/v1/tools/remove-duplicate-lines -H "content-type: application/json" -d '{"text":"apple\nbanana\nApple\napple\n\ncherry\nbanana","caseSensitive":false,"removeEmpty":true}' Response:
{
"ok": true,
"result": {
"text": "apple\nbanana\ncherry",
"originalLines": 7,
"uniqueLines": 3,
"removedLines": 4
}
} POST /v1/tools/lorem-ipsum-generator
Free lorem ipsum generator. Create placeholder text by paragraphs, sentences or words, with or without the classic "Lorem ipsum dolor sit amet" opening.
| Field | Type | Required |
|---|---|---|
count | number | yes |
unit | string | no |
startWithLorem | boolean | no |
curl -X POST https://spincrus.uz/api/v1/tools/lorem-ipsum-generator -H "content-type: application/json" -d '{"count":2,"unit":"paragraphs","startWithLorem":true}' Response:
{
"ok": true,
"result": {
"text": "Lorem ipsum dolor sit amet consectetur adipiscing elit. Elit amet ad proident deserunt proident ad aute. Amet cillum elit ex nulla velit ullamco eiusmod.\n\nVoluptate lorem incididunt occaecat culpa anim minim do. Ipsum nostrud aliqua id lorem, excepteur cillum id voluptate velit qui. Cillum pariatur nulla esse non esse in voluptate sint et sunt, sit ad mollit ad. Do incididunt quis elit fugiat anim qui amet deserunt velit excepteur, nostrud eu sed excepteur. Dolore qui dolore eiusmod voluptate nostrud.",
"unit": "paragraphs",
"count": 2,
"words": 79,
"characters": 506
}
} POST /v1/tools/color-converter
Free online color converter: turn HEX into RGB and HSL, or RGB and HSL back into HEX. Paste any CSS color and copy the format you need.
| Field | Type | Required |
|---|---|---|
color | string | yes |
curl -X POST https://spincrus.uz/api/v1/tools/color-converter -H "content-type: application/json" -d '{"color":"#1e90ff"}' Response:
{
"ok": true,
"result": {
"hex": "#1e90ff",
"rgb": "rgb(30, 144, 255)",
"hsl": "hsl(210, 100%, 56%)",
"r": 30,
"g": 144,
"b": 255,
"h": 210,
"s": 100,
"l": 56
}
} POST /v1/tools/number-base-converter
Free online number base converter. Turn binary into decimal, decimal into hex or octal, or any base from 2 to 36. Handles huge numbers and 0x/0b prefixes.
| Field | Type | Required |
|---|---|---|
value | string | yes |
fromBase | number | no |
customBase | number | no |
curl -X POST https://spincrus.uz/api/v1/tools/number-base-converter -H "content-type: application/json" -d '{"value":"11111111","fromBase":2}' Response:
{
"ok": true,
"result": {
"binary": "11111111",
"octal": "377",
"decimal": "255",
"hex": "ff",
"custom": "73",
"customBase": 36
}
} Errors
400 invalid input (message in error), 401 bad key, 404 unknown tool, 429 limit reached, 500 our fault — retry.