TidyTools

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

  1. 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.
  2. Send it with every request as Authorization: Bearer tt_live_XXXX to https://tools.yukai.uk/api/v1/<route>. Every route accepts a JSON body (POST) or the same fields as a query string (GET).
  3. Read the cost from the response headers x-credits-charged and x-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

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"}}.

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

ToolEndpointCreditsUSDOpenAPI
Website screenshot/api/v1/screenshot9$0.0009website-screenshot
Web page to PDF/api/v1/pdf23$0.0023website-screenshot
Web page to Markdown/api/v1/markdown18$0.0018web-to-markdown
Web page summary (AI)/api/v1/summarize54$0.0054web-to-markdown
Link preview / metadata/api/v1/metadata18$0.0018link-preview
Tech stack detection/api/v1/techstack63$0.0063tech-stack-detection
Domain WHOIS / RDAP/api/v1/domain/whois18$0.0018domain-whois-dns
Domain DNS records/api/v1/domain/dns18$0.0018domain-whois-dns
Company career-site jobs/api/v1/jobs18 + 9 per job$0.0018 + $0.0009 per jobcompany-jobs
Career-site (ATS) detection/api/v1/jobs/detect18$0.0018company-jobs
App Store app details/api/v1/appstore/app9$0.0009app-store
App Store reviews/api/v1/appstore/reviews1 per review$0.0001 per reviewapp-store
App Store top charts/api/v1/appstore/charts5 per chart entry$0.0005 per chart entryapp-store
Google Play app details/api/v1/appstore/play/app9$0.0009app-store
Google Play reviews/api/v1/appstore/play/reviews1 per review$0.0001 per reviewapp-store
AI crawler access check/api/v1/ai-crawlers18$0.0018ai-crawler-access
Website contacts/api/v1/contacts18$0.0018website-contacts
Email validation/api/v1/email/validate5$0.0005email-validation
Email validation (batch)/api/v1/email/validate/batch5 per address$0.0005 per addressemail-validation
Article extraction/api/v1/article9$0.0009article-summary
Article summary (AI)/api/v1/article/summary54$0.0054article-summary
Image OCR/api/v1/ocr27$0.0027image-ocr
SEO page audit/api/v1/seo/audit45$0.0045seo-audit
Company enrichment/api/v1/company/enrich54$0.0054company-enrichment
Company enrichment + AI classification/api/v1/company/enrich/ai72$0.0072company-enrichment
Image background removal/api/v1/image/remove-background45$0.0045image-tools
Image resize/api/v1/image/resize18$0.0018image-tools
Image convert/api/v1/image/convert18$0.0018image-tools
Image compress/api/v1/image/compress18$0.0018image-tools
Smart Fetch (regional fetch)/api/v1/smart-fetch9 per HTTP page, +18 through a regional node (us, sg, eu, tw), 27 per browser-rendered pagefrom $0.0009smart-fetch
Regional price check/api/v1/price-check36 per region delivered$0.0036 per region deliveredregional-price-check
Places with website contacts/api/v1/places/enriched27 per place$0.0027 per placeplaces
Domain authority/api/v1/domain-authority27$0.0027domain-authority
Domain authority (batch)/api/v1/domain-authority/batch27 per domain$0.0027 per domaindomain-authority
Website traffic rank/api/v1/traffic-rank14$0.0014website-traffic-rank
Website traffic rank (batch)/api/v1/traffic-rank/batch14 per domain found$0.0014 per domain foundwebsite-traffic-rank
Referring domains/api/v1/referring-domains14 per referring domain$0.0014 per referring domainbacklinks
Domain overview/api/v1/domain-overview90$0.009domain-overview

Questions or a route you need: tidytools@yukai.uk.