Spincrus

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

PlanDaily callsBurstHow to get
Free100 per tool10 req/sNo key needed
Pro50,00010 req/sSubscribe, 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.

FieldTypeRequired
expressionstringyes
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.

FieldTypeRequired
texttextyes
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.

FieldTypeRequired
jsonjsonyes
delimiterstringno
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.

FieldTypeRequired
valuestringyes
unitstringno
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.

FieldTypeRequired
tokentextyes
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.

FieldTypeRequired
texttextyes
separatorstringno
lowercasebooleanno
maxLengthnumberno
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.

FieldTypeRequired
texttextyes
modestringno
urlSafebooleanno
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.

FieldTypeRequired
texttextyes
modestringno
scopestringno
plusAsSpacebooleanno
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.

FieldTypeRequired
texttextyes
modestringno
indentnumberno
sortKeysbooleanno
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.

FieldTypeRequired
texttextyes
stylestringno
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.

FieldTypeRequired
texttextyes
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.

FieldTypeRequired
texttextyes
caseSensitivebooleanno
trimWhitespacebooleanno
removeEmptybooleanno
sortbooleanno
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.

FieldTypeRequired
countnumberyes
unitstringno
startWithLorembooleanno
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.

FieldTypeRequired
colorstringyes
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.

FieldTypeRequired
valuestringyes
fromBasenumberno
customBasenumberno
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.