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"
]
}
} Errors
400 invalid input (message in error), 401 bad key, 404 unknown tool, 429 limit reached, 500 our fault — retry.