API docs
Call 41 TidyTools APIs with one prepaid key: screenshots, web page to Markdown, website contacts, SEO audits, email validation, places and more. Pay only for successful calls.
Quick start
- Get a key. New purchases are not available right now; existing keys keep working. Buy a credit pack on the pricing page. After payment the confirmation page shows your API key once (it starts with
tt_live_); copy it somewhere safe. - Send it with every request as
Authorization: Bearer tt_live_XXXXtohttps://tools.yukai.uk/api/v1/<route>. Every route accepts a JSON body (POST) or the same fields as a query string (GET). - Read the cost from the response headers
x-credits-chargedandx-credits-balance.
Your first call
Turn a web page into Markdown (18 credits):
curl
curl -i -X POST "https://tools.yukai.uk/api/v1/markdown" \
-H "Authorization: Bearer tt_live_XXXX" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'JavaScript (fetch)
const res = await fetch("https://tools.yukai.uk/api/v1/markdown", {
method: "POST",
headers: { "Authorization": "Bearer tt_live_XXXX", "Content-Type": "application/json" },
body: JSON.stringify({"url":"https://example.com"}),
});
console.log(res.status, res.headers.get("x-credits-charged"), res.headers.get("x-credits-balance"));
console.log(await res.json());Python (requests)
import requests
r = requests.post(
"https://tools.yukai.uk/api/v1/markdown",
headers={"Authorization": "Bearer tt_live_XXXX"},
json={"url": "https://example.com"},
timeout=120,
)
print(r.status_code, r.headers.get("x-credits-charged"), r.headers.get("x-credits-balance"))
print(r.json())
Credits on every response
x-credits-charged: credits this call used (0for a failed call).x-credits-balance: your balance after this call.- 1 credit = $0.0001. Each route's cost is in the table below and on the pricing page.
Failed calls are free
Before a call runs, its cost is reserved from your balance. If the call fails (any non-2xx answer: invalid input, a blocked or unreachable page, a timeout, an error on our side) nothing is charged and the reserved credits go back at once. Routes that return a list (jobs, reviews, places, batch lookups) reserve a few items and are settled on the number of items actually returned, so the last call of a nearly empty balance can take it slightly below zero; the next purchase covers the difference.
Check your balance
curl -H "Authorization: Bearer tt_live_XXXX" "https://tools.yukai.uk/v1/billing/balance"
Answers {"success": true, "keyPrefix", "mode", "status", "balance", "balanceUsd", "recent": [...]}: the balance in credits and your last 20 calls and purchases. Balance checks are free.
Top up the same key
curl -X POST "https://tools.yukai.uk/v1/billing/checkout" \
-H "Authorization: Bearer tt_live_XXXX" \
-H "Content-Type: application/json" \
-d '{"pack":"pro"}'
Answers a checkoutUrl; after payment the credits are added to the same key. Packs: starter, pro, scale (see pricing).
Errors
Errors share one shape: {"success": false, "error": {"code", "message", "retryable"}}.
401 unauthorized: missing, unknown or revoked key.402 insufficient_credits: the balance does not cover the reserve of this call;error.detailshasbalance,requiredandbuyUrl.403 account_suspended: write to tidytools@yukai.uk.404 not_found: the route is not available with a TidyTools key (only the routes below are).400for invalid input,5xxwithretryable: truefor temporary failures. None of them cost credits.
The OpenAPI specs linked below describe each route's fields and responses. Their servers entry is the marketplace gateway; with a TidyTools key, call https://tools.yukai.uk as shown here.
All 41 routes
| Tool | Endpoint | Credits | USD | OpenAPI |
|---|---|---|---|---|
| Website screenshot | /api/v1/screenshot | 9 | $0.0009 | website-screenshot |
| Web page to PDF | /api/v1/pdf | 23 | $0.0023 | website-screenshot |
| Web page to Markdown | /api/v1/markdown | 18 | $0.0018 | web-to-markdown |
| Web page summary (AI) | /api/v1/summarize | 54 | $0.0054 | web-to-markdown |
| Link preview / metadata | /api/v1/metadata | 18 | $0.0018 | link-preview |
| Tech stack detection | /api/v1/techstack | 63 | $0.0063 | tech-stack-detection |
| Domain WHOIS / RDAP | /api/v1/domain/whois | 18 | $0.0018 | domain-whois-dns |
| Domain DNS records | /api/v1/domain/dns | 18 | $0.0018 | domain-whois-dns |
| Company career-site jobs | /api/v1/jobs | 18 + 9 per job | $0.0018 + $0.0009 per job | company-jobs |
| Career-site (ATS) detection | /api/v1/jobs/detect | 18 | $0.0018 | company-jobs |
| App Store app details | /api/v1/appstore/app | 9 | $0.0009 | app-store |
| App Store reviews | /api/v1/appstore/reviews | 1 per review | $0.0001 per review | app-store |
| App Store top charts | /api/v1/appstore/charts | 5 per chart entry | $0.0005 per chart entry | app-store |
| Google Play app details | /api/v1/appstore/play/app | 9 | $0.0009 | app-store |
| Google Play reviews | /api/v1/appstore/play/reviews | 1 per review | $0.0001 per review | app-store |
| Google Play search | /api/v1/appstore/play/search | 5 per app | $0.0005 per app | app-store |
| AI crawler access check | /api/v1/ai-crawlers | 18 | $0.0018 | ai-crawler-access |
| Website contacts | /api/v1/contacts | 18 | $0.0018 | website-contacts |
| Email validation | /api/v1/email/validate | 5 | $0.0005 | email-validation |
| Email validation (batch) | /api/v1/email/validate/batch | 5 per address | $0.0005 per address | email-validation |
| Article extraction | /api/v1/article | 9 | $0.0009 | article-summary |
| Article summary (AI) | /api/v1/article/summary | 54 | $0.0054 | article-summary |
| Image OCR | /api/v1/ocr | 27 | $0.0027 | image-ocr |
| SEO page audit | /api/v1/seo/audit | 45 | $0.0045 | seo-audit |
| Company enrichment | /api/v1/company/enrich | 54 | $0.0054 | company-enrichment |
| Company enrichment + AI classification | /api/v1/company/enrich/ai | 72 | $0.0072 | company-enrichment |
| Image background removal | /api/v1/image/remove-background | 45 | $0.0045 | image-tools |
| Image resize | /api/v1/image/resize | 18 | $0.0018 | image-tools |
| Image convert | /api/v1/image/convert | 18 | $0.0018 | image-tools |
| Image compress | /api/v1/image/compress | 18 | $0.0018 | image-tools |
| Smart Fetch (regional fetch) | /api/v1/smart-fetch | 9 per HTTP page, +18 through a regional node (us, sg, eu, tw), 27 per browser-rendered page | from $0.0009 | smart-fetch |
| Regional price check | /api/v1/price-check | 36 per region delivered | $0.0036 per region delivered | regional-price-check |
| Places search | /api/v1/places/search | 9 per place | $0.0009 per place | places |
| Places with website contacts | /api/v1/places/enriched | 27 per place | $0.0027 per place | places |
| Domain authority | /api/v1/domain-authority | 27 | $0.0027 | domain-authority |
| Domain authority (batch) | /api/v1/domain-authority/batch | 27 per domain | $0.0027 per domain | domain-authority |
| Website traffic rank | /api/v1/traffic-rank | 14 | $0.0014 | website-traffic-rank |
| Website traffic rank (batch) | /api/v1/traffic-rank/batch | 14 per domain found | $0.0014 per domain found | website-traffic-rank |
| Referring domains | /api/v1/referring-domains | 14 per referring domain | $0.0014 per referring domain | backlinks |
| Link gap prospects | /api/v1/link-gap | 27 per prospect | $0.0027 per prospect | backlinks |
| Domain overview | /api/v1/domain-overview | 90 | $0.009 | domain-overview |
Questions or a route you need: tidytools@yukai.uk.