",
"removed_tags": ["script"],
"removed_attributes": ["onclick", "onerror", "style"]
}
```
---
## CSV to JSON
Convert CSV data to a JSON array of objects.
- Endpoint: POST https://api.botoi.com/v1/csv/to-json
- Use case: Parse uploaded CSV files for processing, convert spreadsheet exports to JSON for APIs, or transform tabular data for database imports.
Request:
```json
{
"csv": "name,email,role\nAlice,alice@example.com,admin\nBob,bob@example.com,user",
"delimiter": ",",
"headers": true
}
```
Response:
```json
{
"data": [
{"name": "Alice", "email": "alice@example.com", "role": "admin"},
{"name": "Bob", "email": "bob@example.com", "role": "user"}
],
"rows": 2,
"columns": 3
}
```
---
## JSON to CSV
Convert a JSON array of objects to CSV format.
- Endpoint: POST https://api.botoi.com/v1/csv/to-csv
- Use case: Export API data to spreadsheet-compatible format, generate downloadable CSV reports, or convert JSON query results for non-technical stakeholders.
Request:
```json
{
"data": [
{"name": "Alice", "email": "alice@example.com", "role": "admin"},
{"name": "Bob", "email": "bob@example.com", "role": "user"}
],
"delimiter": ",",
"headers": true
}
```
Response:
```json
{
"csv": "name,email,role\nAlice,alice@example.com,admin\nBob,bob@example.com,user",
"rows": 2,
"columns": 3
}
```
---
## XML to JSON
Convert XML data to a JSON object.
- Endpoint: POST https://api.botoi.com/v1/xml/to-json
- Use case: Parse XML API responses, convert SOAP payloads to JSON, transform RSS feeds, or migrate XML configuration files to JSON format.
Request:
```json
{
"xml": "Developer ToolsBotoi0.00"
}
```
Response:
```json
{
"data": {
"catalog": {
"book": {
"@id": "1",
"title": "Developer Tools",
"author": "Botoi",
"price": "0.00"
}
}
}
}
```
---
## JWT Signing
Generate and sign a JWT token with a given payload and secret.
- Endpoint: POST https://api.botoi.com/v1/jwt/generate
- Use case: Create signed tokens for testing authentication flows, generate temporary access tokens, or prototype JWT-based auth without spinning up a full auth server.
Request:
```json
{
"payload": {
"sub": "user_12345",
"name": "Alice",
"role": "admin"
},
"secret": "your-256-bit-secret",
"algorithm": "HS256",
"expires_in": "1h"
}
```
Supported algorithms: `HS256`, `HS384`, `HS512`
Response:
```json
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMzQ1IiwibmFtZSI6IkFsaWNlIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzc0NjIwNjAwLCJleHAiOjE3NzQ2MjQyMDB9.abc123signature",
"expires_at": "2026-03-24T15:30:00Z",
"algorithm": "HS256"
}
```
---
## HMAC Generation
Generate HMAC (Hash-based Message Authentication Code) signatures.
- Endpoint: POST https://api.botoi.com/v1/hash/hmac
- Use case: Sign webhook payloads, verify message integrity, create API request signatures, or validate Stripe/GitHub webhook deliveries.
Request:
```json
{
"input": "webhook-payload-body",
"key": "whsec_your_webhook_secret",
"algorithm": "sha256",
"encoding": "hex"
}
```
Supported algorithms: `sha1`, `sha256`, `sha384`, `sha512`
Supported encodings: `hex`, `base64`
Response:
```json
{
"hmac": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
"algorithm": "sha256",
"encoding": "hex"
}
```
---
## TOTP Generation
Generate a TOTP (Time-based One-Time Password) secret and current code.
- Endpoint: POST https://api.botoi.com/v1/totp/generate
- Use case: Set up two-factor authentication flows, generate QR codes for authenticator apps, or create TOTP secrets for user accounts.
Request:
```json
{
"issuer": "Botoi",
"account": "alice@example.com",
"digits": 6,
"period": 30,
"algorithm": "SHA1"
}
```
Response:
```json
{
"secret": "JBSWY3DPEHPK3PXP",
"code": "482916",
"period": 30,
"digits": 6,
"algorithm": "SHA1",
"remaining_seconds": 18,
"otpauth_uri": "otpauth://totp/Botoi:alice%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=Botoi&algorithm=SHA1&digits=6&period=30"
}
```
---
## TOTP Validation
Validate a TOTP code against a secret.
- Endpoint: POST https://api.botoi.com/v1/totp/validate
- Use case: Verify two-factor authentication codes submitted by users, check TOTP tokens during login, or test 2FA setup before enabling it.
Request:
```json
{
"secret": "JBSWY3DPEHPK3PXP",
"code": "482916",
"digits": 6,
"period": 30,
"algorithm": "SHA1",
"window": 1
}
```
The `window` parameter allows codes from adjacent time windows (1 = one period before and after).
Response:
```json
{
"valid": true,
"drift": 0
}
```
---
## UUID v7 Generation
Generate time-ordered UUID v7 identifiers.
- Endpoint: POST https://api.botoi.com/v1/uuid/v7
- Use case: Create sortable, time-ordered unique IDs for database primary keys where chronological ordering matters, such as event logs, messages, or audit trails.
Request:
```json
{
"count": 3
}
```
Response:
```json
{
"uuids": [
"01905a5c-4e20-7000-8a3b-1c2d3e4f5a6b",
"01905a5c-4e20-7001-9b4c-2d3e4f5a6b7c",
"01905a5c-4e20-7002-ac5d-3e4f5a6b7c8d"
],
"version": 7,
"count": 3
}
```
---
## Timestamp Conversion
Convert between Unix timestamps, ISO 8601, and human-readable date formats.
- Endpoint: POST https://api.botoi.com/v1/timestamp/convert
- Use case: Convert epoch timestamps from APIs or databases to readable dates, parse ISO 8601 strings to Unix time, or normalize date formats across systems.
Request:
```json
{
"timestamp": 1774620600,
"from": "unix",
"to": "iso8601",
"timezone": "America/New_York"
}
```
Supported formats for `from`/`to`: `unix`, `unix_ms`, `iso8601`, `rfc2822`
Response:
```json
{
"input": 1774620600,
"input_format": "unix",
"output": "2026-03-24T10:30:00-04:00",
"output_format": "iso8601",
"timezone": "America/New_York",
"unix": 1774620600,
"unix_ms": 1774620600000,
"iso8601": "2026-03-24T14:30:00Z",
"rfc2822": "Tue, 24 Mar 2026 14:30:00 +0000",
"relative": "today"
}
```
---
## Semver Comparison
Compare two semantic version strings.
- Endpoint: POST https://api.botoi.com/v1/semver/compare
- Use case: Check if a dependency update is a breaking change, sort release versions, determine if a user's app version meets the minimum required version.
Request:
```json
{
"version_a": "2.4.1",
"version_b": "2.5.0"
}
```
Response:
```json
{
"version_a": "2.4.1",
"version_b": "2.5.0",
"result": -1,
"description": "2.4.1 is less than 2.5.0",
"diff": "minor"
}
```
The `result` is -1 (a < b), 0 (a == b), or 1 (a > b). The `diff` field shows the highest component that changed: `major`, `minor`, `patch`, or `pre-release`.
---
## Semver Validation
Validate a version string against the SemVer 2.0 spec.
- Endpoint: POST https://api.botoi.com/v1/semver/validate
- Use case: Validate user-provided version strings, check pre-release tags, or enforce semantic versioning in CI/CD pipelines.
Request:
```json
{
"version": "3.1.0-beta.2+build.456"
}
```
Response:
```json
{
"version": "3.1.0-beta.2+build.456",
"valid": true,
"major": 3,
"minor": 1,
"patch": 0,
"pre_release": "beta.2",
"build_metadata": "build.456"
}
```
---
## YAML to JSON
Convert YAML to JSON format.
- Endpoint: POST https://api.botoi.com/v1/yaml/to-json
- Use case: Convert Kubernetes manifests, Docker Compose files, or CI/CD configs from YAML to JSON for programmatic processing.
Request:
```json
{
"yaml": "name: botoi\nversion: 1.0.0\nservices:\n - api\n - tools"
}
```
Response:
```json
{
"data": {
"name": "botoi",
"version": "1.0.0",
"services": ["api", "tools"]
}
}
```
---
## JSON to YAML
Convert JSON to YAML format.
- Endpoint: POST https://api.botoi.com/v1/yaml/to-yaml
- Use case: Generate Kubernetes configs from JSON templates, convert API responses to YAML for human editing, or create configuration files from structured data.
Request:
```json
{
"data": {
"name": "botoi",
"version": "1.0.0",
"services": ["api", "tools"]
},
"indent": 2
}
```
Response:
```json
{
"yaml": "name: botoi\nversion: 1.0.0\nservices:\n - api\n - tools\n"
}
```
---
## Math Evaluation
Evaluate a mathematical expression and return the result.
- Endpoint: POST https://api.botoi.com/v1/math/evaluate
- Use case: Build calculator features, evaluate user-submitted formulas, compute pricing calculations server-side, or validate mathematical expressions.
Request:
```json
{
"expression": "(12 + 8) * 3 / 4 + sqrt(144)",
"precision": 4
}
```
Supported operations: basic arithmetic (`+`, `-`, `*`, `/`, `%`), exponentiation (`^`), parentheses, functions (`sqrt`, `abs`, `ceil`, `floor`, `round`, `sin`, `cos`, `tan`, `log`, `log10`, `min`, `max`).
Response:
```json
{
"expression": "(12 + 8) * 3 / 4 + sqrt(144)",
"result": 27,
"precision": 4
}
```
---
## Unit Conversion
Convert values between measurement units.
- Endpoint: POST https://api.botoi.com/v1/units/convert
- Use case: Build unit converters, convert between metric and imperial in e-commerce, process scientific data, or normalize measurements from different sources.
Request:
```json
{
"value": 72,
"from": "fahrenheit",
"to": "celsius",
"category": "temperature"
}
```
Supported categories: `temperature`, `length`, `weight`, `volume`, `area`, `speed`, `data`, `time`, `pressure`
Response:
```json
{
"value": 72,
"from": "fahrenheit",
"to": "celsius",
"result": 22.2222,
"category": "temperature",
"formula": "(72 - 32) * 5/9"
}
```
---
## Placeholder Images
Generate placeholder images with custom dimensions, colors, and text.
- Endpoint: POST https://api.botoi.com/v1/placeholder
- Use case: Create placeholder images for wireframes, fill empty image slots in development, generate test images for responsive layout testing.
Request:
```json
{
"width": 600,
"height": 400,
"background": "#e2e8f0",
"text_color": "#334155",
"text": "600x400",
"format": "png"
}
```
Supported formats: `png`, `svg`
Response: Binary image data with appropriate Content-Type header (`image/png` or `image/svg+xml`).
---
## Avatar Generation
Generate unique avatar images from a name, email, or any string identifier.
- Endpoint: POST https://api.botoi.com/v1/avatar
- Use case: Generate default profile pictures for users, create consistent avatars from identifiers, or build user directories without requiring photo uploads.
Request:
```json
{
"identifier": "alice@example.com",
"size": 200,
"style": "initials",
"background": "#3EC997",
"text_color": "#ffffff",
"format": "png"
}
```
Supported styles: `initials`, `geometric`, `pixel`
Response: Binary image data with Content-Type: `image/png`.
---
## Favicon Extraction
Extract favicon URLs from any website.
- Endpoint: POST https://api.botoi.com/v1/favicon
- Use case: Build bookmark managers, display favicons in link previews, enrich URL metadata, or create browser-like tab displays in web apps.
Request:
```json
{
"url": "https://github.com"
}
```
Response:
```json
{
"url": "https://github.com",
"favicons": [
{"url": "https://github.githubassets.com/favicons/favicon.svg", "type": "image/svg+xml", "size": null},
{"url": "https://github.com/favicon.ico", "type": "image/x-icon", "size": "32x32"}
],
"best": "https://github.githubassets.com/favicons/favicon.svg"
}
```
---
## Barcode Generation
Generate barcodes in various formats (Code 128, EAN-13, UPC-A, etc.).
- Endpoint: POST https://api.botoi.com/v1/barcode
- Use case: Generate product barcodes for inventory systems, create shipping labels, print barcode labels for asset tracking, or embed barcodes in invoices.
Request:
```json
{
"data": "123456789012",
"format": "ean13",
"width": 300,
"height": 100,
"output": "png"
}
```
Supported barcode formats: `code128`, `ean13`, `ean8`, `upca`, `code39`, `itf14`, `codabar`
Supported output formats: `png`, `svg`
Response: Binary image data with appropriate Content-Type header.
---
## Credit Card Validation
Validate credit card numbers using the Luhn algorithm with card type detection.
- Endpoint: POST https://api.botoi.com/v1/validate/credit-card
- Use case: Validate card numbers in checkout forms before sending to payment processors, detect card type for displaying the correct brand icon, or screen for obviously invalid numbers.
Request:
```json
{
"number": "4532015112830366"
}
```
Response:
```json
{
"number": "4532015112830366",
"valid": true,
"card_type": "visa",
"card_name": "Visa",
"length": 16,
"luhn_valid": true
}
```
---
## IBAN Validation
Validate International Bank Account Numbers (IBANs) with country-specific checks.
- Endpoint: POST https://api.botoi.com/v1/validate/iban
- Use case: Validate bank account numbers in payment forms, verify IBAN format before initiating wire transfers, or enrich financial records with country and bank data.
Request:
```json
{
"iban": "DE89370400440532013000"
}
```
Response:
```json
{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"country_name": "Germany",
"check_digits": "89",
"bban": "370400440532013000",
"bank_code": "37040044",
"formatted": "DE89 3704 0044 0532 0130 00"
}
```
---
## VAT Validation
Validate European VAT identification numbers.
- Endpoint: POST https://api.botoi.com/v1/validate/vat
- Use case: Verify VAT numbers during B2B checkout for tax exemption, validate supplier VAT IDs for compliance, or enrich business records with VAT details.
Request:
```json
{
"vat_number": "DE123456789"
}
```
Response:
```json
{
"vat_number": "DE123456789",
"valid": true,
"country": "DE",
"country_name": "Germany",
"format_valid": true,
"company_name": "Example GmbH",
"company_address": "Musterstrasse 1, 10115 Berlin"
}
```
---
## AES Encryption
Encrypt plaintext using AES-256-GCM.
- Endpoint: POST https://api.botoi.com/v1/encrypt/encrypt
- Use case: Encrypt sensitive data before storage, protect configuration values, or encrypt payloads for secure transport between services.
Request:
```json
{
"plaintext": "sensitive-api-key-value",
"password": "your-strong-passphrase"
}
```
Response:
```json
{
"ciphertext": "aes256gcm:iv:salt:encrypted_base64_data",
"algorithm": "AES-256-GCM",
"encoding": "base64"
}
```
---
## AES Decryption
Decrypt AES-256-GCM encrypted data.
- Endpoint: POST https://api.botoi.com/v1/encrypt/decrypt
- Use case: Decrypt previously encrypted values, retrieve original data from encrypted storage, or decrypt payloads received from other services.
Request:
```json
{
"ciphertext": "aes256gcm:iv:salt:encrypted_base64_data",
"password": "your-strong-passphrase"
}
```
Response:
```json
{
"plaintext": "sensitive-api-key-value",
"algorithm": "AES-256-GCM"
}
```
---
## OTP Generation
Generate numeric one-time passwords for verification flows.
- Endpoint: POST https://api.botoi.com/v1/otp/generate
- Use case: Generate OTP codes for email or SMS verification, create temporary access codes for password resets, or build phone number verification flows.
Request:
```json
{
"length": 6,
"expires_in": 300,
"type": "numeric"
}
```
Supported types: `numeric`, `alphanumeric`
Response:
```json
{
"otp": "847291",
"type": "numeric",
"length": 6,
"expires_in": 300,
"expires_at": "2026-03-24T14:35:00Z"
}
```
---
## POST /v1/token/count
Count the number of tokens in a text string for a given LLM model.
curl -X POST https://api.botoi.com/v1/token/count \
-H "Content-Type: application/json" \
-d '{"text": "The quick brown fox jumps over the lazy dog.", "model": "gpt-4"}'
---
## POST /v1/token/truncate
Truncate a text string to fit within a token limit for a given LLM model.
curl -X POST https://api.botoi.com/v1/token/truncate \
-H "Content-Type: application/json" \
-d '{"text": "The quick brown fox jumps over the lazy dog.", "max_tokens": 5, "model": "gpt-4"}'
---
## POST /v1/code/format
Format source code using language-specific formatters.
curl -X POST https://api.botoi.com/v1/code/format \
-H "Content-Type: application/json" \
-d '{"code": "function hello(){return \"world\"}", "language": "javascript"}'
---
## POST /v1/code/detect
Detect the programming language of a code snippet.
curl -X POST https://api.botoi.com/v1/code/detect \
-H "Content-Type: application/json" \
-d '{"code": "def greet(name):\n return f\"Hello, {name}\""}'
---
## POST /v1/code/highlight
Syntax highlight a code snippet and return HTML with inline styles.
curl -X POST https://api.botoi.com/v1/code/highlight \
-H "Content-Type: application/json" \
-d '{"code": "const x = 42;", "language": "javascript", "theme": "github"}'
---
## POST /v1/sql/format
Format a SQL query with consistent indentation and casing.
curl -X POST https://api.botoi.com/v1/sql/format \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT id,name FROM users WHERE active=1 ORDER BY name", "dialect": "postgresql"}'
---
## POST /v1/sql/parse
Parse a SQL query into an abstract syntax tree (AST).
curl -X POST https://api.botoi.com/v1/sql/parse \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT id, name FROM users WHERE active = 1"}'
---
## POST /v1/minify/js
Minify JavaScript source code, removing whitespace and comments.
curl -X POST https://api.botoi.com/v1/minify/js \
-H "Content-Type: application/json" \
-d '{"code": "function greet(name) {\n return \"Hello, \" + name + \"!\";\n}"}'
---
## POST /v1/minify/css
Minify CSS source code, removing whitespace and comments.
curl -X POST https://api.botoi.com/v1/minify/css \
-H "Content-Type: application/json" \
-d '{"code": "body {\n margin: 0;\n padding: 0;\n background: #fff;\n}"}'
---
## POST /v1/minify/html
Minify HTML markup, removing whitespace and comments.
curl -X POST https://api.botoi.com/v1/minify/html \
-H "Content-Type: application/json" \
-d '{"code": "\n \n
Hello World
\n \n"}'
---
## POST /v1/schema/validate
Validate a JSON object against a JSON Schema definition.
curl -X POST https://api.botoi.com/v1/schema/validate \
-H "Content-Type: application/json" \
-d '{"schema": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "data": {"name": "Alice"}}'
---
## POST /v1/schema/openapi-validate
Validate an OpenAPI 3.x or Swagger 2.x specification for structural correctness.
curl -X POST https://api.botoi.com/v1/schema/openapi-validate \
-H "Content-Type: application/json" \
-d '{"spec": {"openapi": "3.1.0", "info": {"title": "My API", "version": "1.0.0"}, "paths": {}}}'
---
## POST /v1/schema/json-to-typescript
Generate TypeScript interface definitions from a JSON example.
curl -X POST https://api.botoi.com/v1/schema/json-to-typescript \
-H "Content-Type: application/json" \
-d '{"json": {"id": 1, "name": "Alice", "active": true}}'
---
## POST /v1/schema/json-to-zod
Generate a Zod schema from a JSON example.
curl -X POST https://api.botoi.com/v1/schema/json-to-zod \
-H "Content-Type: application/json" \
-d '{"json": {"id": 1, "name": "Alice", "active": true}}'
---
## POST /v1/schema/json-to-jsonschema
Generate a JSON Schema (draft-07) from a JSON example.
curl -X POST https://api.botoi.com/v1/schema/json-to-jsonschema \
-H "Content-Type: application/json" \
-d '{"json": {"id": 1, "name": "Alice", "active": true}}'
---
## POST /v1/json-extra/flatten
Flatten a deeply nested JSON object into dot-notation keys.
curl -X POST https://api.botoi.com/v1/json-extra/flatten \
-H "Content-Type: application/json" \
-d '{"json": {"user": {"name": "Alice", "address": {"city": "Berlin"}}}}'
---
## POST /v1/json-extra/unflatten
Convert dot-notation keys back into a nested JSON object.
curl -X POST https://api.botoi.com/v1/json-extra/unflatten \
-H "Content-Type: application/json" \
-d '{"json": {"user.name": "Alice", "user.address.city": "Berlin"}}'
---
## POST /v1/mock/generate
Generate realistic mock data records from a JSON Schema.
curl -X POST https://api.botoi.com/v1/mock/generate \
-H "Content-Type: application/json" \
-d '{"schema": {"type": "object", "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "email": {"type": "string", "format": "email"}}}, "count": 3}'
---
## POST /v1/date/
Parse a natural language date expression into a structured datetime object.
curl -X POST https://api.botoi.com/v1/date/ \
-H "Content-Type: application/json" \
-d '{"expression": "next Monday at 9am", "timezone": "America/New_York"}'
---
## POST /v1/svg/optimize
Optimize and minify SVG markup using SVGO-style transformations.
curl -X POST https://api.botoi.com/v1/svg/optimize \
-H "Content-Type: application/json" \
-d '{"svg": ""}'
---
## POST /v1/text/similarity
Compute a similarity score between two text strings using cosine or Jaccard distance.
curl -X POST https://api.botoi.com/v1/text/similarity \
-H "Content-Type: application/json" \
-d '{"text_a": "The quick brown fox", "text_b": "The fast brown fox"}'
---
## POST /v1/text/readability
Compute Flesch-Kincaid and other readability scores for a block of text.
curl -X POST https://api.botoi.com/v1/text/readability \
-H "Content-Type: application/json" \
-d '{"text": "The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs."}'
---
## POST /v1/regex/generate
Generate a regular expression pattern from a plain English description.
curl -X POST https://api.botoi.com/v1/regex/generate \
-H "Content-Type: application/json" \
-d '{"description": "US phone number with dashes"}'
---
## POST /v1/number/spell
Convert a number to its word representation.
curl -X POST https://api.botoi.com/v1/number/spell \
-H "Content-Type: application/json" \
-d '{"number": 1042, "locale": "en"}'
---
## POST /v1/html-to-markdown/
Convert HTML markup to Markdown format.
curl -X POST https://api.botoi.com/v1/html-to-markdown/ \
-H "Content-Type: application/json" \
-d '{"html": "
Hello
This is bold.
"}'
---
## POST /v1/pii/detect
Detect personally identifiable information (PII) in a block of text, including names, emails, phone numbers, and SSNs.
curl -X POST https://api.botoi.com/v1/pii/detect \
-H "Content-Type: application/json" \
-d '{"text": "Contact John at john@example.com or 555-867-5309."}'
---
## POST /v1/emoji/search
Search for emojis by keyword and return matching results with codepoints and categories.
curl -X POST https://api.botoi.com/v1/emoji/search \
-H "Content-Type: application/json" \
-d '{"query": "rocket"}'
---
## POST /v1/ical/parse
Parse an iCal (ICS) calendar string into structured event data.
curl -X POST https://api.botoi.com/v1/ical/parse \
-H "Content-Type: application/json" \
-d '{"ical": "BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Team Standup\nDTSTART:20260401T090000Z\nDTEND:20260401T093000Z\nEND:VEVENT\nEND:VCALENDAR"}'
---
## POST /v1/ical/generate
Generate a valid iCal (ICS) event string from structured event data.
curl -X POST https://api.botoi.com/v1/ical/generate \
-H "Content-Type: application/json" \
-d '{"title": "Team Standup", "start": "2026-04-01T09:00:00Z", "end": "2026-04-01T09:30:00Z", "description": "Daily sync", "location": "Zoom"}'
---
## POST /v1/metatag/generate
Generate HTML meta tags for SEO, Open Graph, and Twitter Card from page metadata.
curl -X POST https://api.botoi.com/v1/metatag/generate \
-H "Content-Type: application/json" \
-d '{"title": "Botoi API", "description": "Free developer utility APIs", "url": "https://botoi.com", "image": "https://botoi.com/og.png"}'
---
## POST /v1/domain/availability
Check if a domain name is available for registration.
curl -X POST https://api.botoi.com/v1/domain/availability \
-H "Content-Type: application/json" \
-d '{"domain": "mybrand.com"}'
---
## POST /v1/ssl-cert/certificate
Retrieve full SSL certificate details for a domain, including issuer, validity, and SANs.
curl -X POST https://api.botoi.com/v1/ssl-cert/certificate \
-H "Content-Type: application/json" \
-d '{"domain": "github.com"}'
---
## POST /v1/mx/check
Check MX records for a domain to verify email delivery configuration.
curl -X POST https://api.botoi.com/v1/mx/check \
-H "Content-Type: application/json" \
-d '{"domain": "gmail.com"}'
---
## POST /v1/tech-detect/
Detect technologies, frameworks, and services used by a website.
curl -X POST https://api.botoi.com/v1/tech-detect/ \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com"}'
---
## POST /v1/robots/
Fetch and parse a site's robots.txt file, returning crawl rules and sitemap references.
curl -X POST https://api.botoi.com/v1/robots/ \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com/robots.txt"}'
---
## POST /v1/sitemap/
Fetch and parse a sitemap.xml file, returning the full list of URLs and their metadata.
curl -X POST https://api.botoi.com/v1/sitemap/ \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com/sitemap.xml"}'
---
## POST /v1/rss/parse
Fetch and parse an RSS or Atom feed, returning structured entries.
curl -X POST https://api.botoi.com/v1/rss/parse \
-H "Content-Type: application/json" \
-d '{"url": "https://feeds.feedburner.com/example"}'
---
## POST /v1/link/expand
Expand a shortened URL (bit.ly, t.co, etc.) to reveal its final destination.
curl -X POST https://api.botoi.com/v1/link/expand \
-H "Content-Type: application/json" \
-d '{"url": "https://bit.ly/example"}'
---
## POST /v1/link/check
Check whether a URL is alive and reachable, returning the status code and response time.
curl -X POST https://api.botoi.com/v1/link/check \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com"}'
---
## POST /v1/email-mx/verify
Perform a deep email verification by checking the address format, domain MX records, and mailbox existence via SMTP handshake.
curl -X POST https://api.botoi.com/v1/email-mx/verify \
-H "Content-Type: application/json" \
-d '{"email": "user@gmail.com"}'
---
## POST /v1/site/check
Check site performance, response time, status code, and redirect chain for a URL.
curl -X POST https://api.botoi.com/v1/site/check \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com"}'
---
## POST /v1/ip-whois/lookup
Look up WHOIS ownership and network registration data for an IP address.
curl -X POST https://api.botoi.com/v1/ip-whois/lookup \
-H "Content-Type: application/json" \
-d '{"ip": "8.8.8.8"}'
---
## POST /v1/dns-security/spf-check
Look up and parse the SPF record for a domain to verify email sender authorization.
curl -X POST https://api.botoi.com/v1/dns-security/spf-check \
-H "Content-Type: application/json" \
-d '{"domain": "gmail.com"}'
---
## POST /v1/dns-security/dmarc-check
Look up and parse the DMARC policy record for a domain.
curl -X POST https://api.botoi.com/v1/dns-security/dmarc-check \
-H "Content-Type: application/json" \
-d '{"domain": "gmail.com"}'
---
## POST /v1/dns-security/dkim-check
Look up the DKIM public key record for a domain and selector.
curl -X POST https://api.botoi.com/v1/dns-security/dkim-check \
-H "Content-Type: application/json" \
-d '{"domain": "gmail.com", "selector": "google"}'
---
## POST /v1/currency/convert
Convert an amount from one currency to another using live exchange rates.
curl -X POST https://api.botoi.com/v1/currency/convert \
-H "Content-Type: application/json" \
-d '{"amount": 100, "from": "USD", "to": "EUR"}'
---
## POST /v1/currency/rates
Get live exchange rates for a base currency against all supported currencies.
curl -X POST https://api.botoi.com/v1/currency/rates \
-H "Content-Type: application/json" \
-d '{"base": "USD"}'
---
## POST /v1/vpn-detect/
Detect whether an IP address belongs to a VPN, proxy, Tor exit node, or datacenter.
curl -X POST https://api.botoi.com/v1/vpn-detect/ \
-H "Content-Type: application/json" \
-d '{"ip": "8.8.8.8"}'
---
## POST /v1/disposable-email/check
Check whether an email address uses a known disposable or temporary email domain.
curl -X POST https://api.botoi.com/v1/disposable-email/check \
-H "Content-Type: application/json" \
-d '{"email": "test@mailinator.com"}'
---
## POST /v1/country/lookup
Get detailed data for a country by ISO code or name, including currency, languages, and flag.
curl -X POST https://api.botoi.com/v1/country/lookup \
-H "Content-Type: application/json" \
-d '{"country": "DE"}'
---
## POST /v1/currency-list/list
List all supported currencies with their names, symbols, and ISO codes.
curl -X POST https://api.botoi.com/v1/currency-list/list \
-H "Content-Type: application/json" \
-d '{}'
---
## POST /v1/pdf/from-html
Convert an HTML string to a PDF document.
curl -X POST https://api.botoi.com/v1/pdf/from-html \
-H "Content-Type: application/json" \
-d '{"html": "
Hello World
Generated by Botoi API.
"}'
---
## POST /v1/pdf/from-markdown
Convert a Markdown string to a PDF document.
curl -X POST https://api.botoi.com/v1/pdf/from-markdown \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello World\n\nGenerated by Botoi API."}'
---
## POST /v1/screenshot/capture
Render an HTML string to a screenshot image (PNG).
curl -X POST https://api.botoi.com/v1/screenshot/capture \
-H "Content-Type: application/json" \
-d '{"html": "
Hello Botoi
", "width": 1200, "height": 630}'
---
## POST /v1/image/metadata
Extract metadata from an image URL, including dimensions, format, and EXIF data.
curl -X POST https://api.botoi.com/v1/image/metadata \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com/og.png"}'
---
## POST /v1/webhook/inbox/create
Create a temporary webhook receiver inbox to capture and inspect incoming HTTP requests.
curl -X POST https://api.botoi.com/v1/webhook/inbox/create \
-H "Content-Type: application/json" \
-d '{"label": "my-test-inbox", "expires_in": 3600}'
---
## POST /v1/short-url/create
Create a shortened URL with an optional custom slug and expiration.
curl -X POST https://api.botoi.com/v1/short-url/create \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com/tools/json-formatter", "slug": "json"}'
---
## POST /v1/paste/create
Create a shareable code paste with optional syntax highlighting and expiration.
curl -X POST https://api.botoi.com/v1/paste/create \
-H "Content-Type: application/json" \
-d '{"content": "console.log(\"Hello from Botoi\");", "language": "javascript", "expires_in": 86400}'
---
## POST /v1/geo/distance
Calculate the geodesic distance between two lat/lon coordinate pairs.
curl -X POST https://api.botoi.com/v1/geo/distance \
-H "Content-Type: application/json" \
-d '{"from": {"lat": 37.7749, "lon": -122.4194}, "to": {"lat": 40.7128, "lon": -74.006}, "unit": "km"}'
---
## POST /v1/geo/geocode
Convert a street address or place name to geographic coordinates (lat/lon).
curl -X POST https://api.botoi.com/v1/geo/geocode \
-H "Content-Type: application/json" \
-d '{"address": "1600 Amphitheatre Parkway, Mountain View, CA"}'
---
## POST /v1/geo/reverse
Convert geographic coordinates (lat/lon) to a human-readable address.
curl -X POST https://api.botoi.com/v1/geo/reverse \
-H "Content-Type: application/json" \
-d '{"lat": 37.422, "lon": -122.084}'
---
## POST /v1/uptime/check
Check whether a URL is up and measure its response time and status code.
curl -X POST https://api.botoi.com/v1/uptime/check \
-H "Content-Type: application/json" \
-d '{"url": "https://botoi.com"}'
---
## POST /v1/ip-blocklist/check
Check whether an IP address appears on known spam or abuse blocklists.
curl -X POST https://api.botoi.com/v1/ip-blocklist/check \
-H "Content-Type: application/json" \
-d '{"ip": "1.2.3.4"}'
---
## POST /v1/abuse-email/check
Check whether an email address or domain is flagged in abuse or spam databases.
curl -X POST https://api.botoi.com/v1/abuse-email/check \
-H "Content-Type: application/json" \
-d '{"email": "abuse@example.com"}'
---
## API endpoint pages
Each endpoint has a dedicated page on botoi.com with a live playground, code examples, use cases, and FAQ.
### API hub
- [Developer Tools API](https://botoi.com/api/): All API endpoints with live playgrounds
### Lookup & Enrichment
- [Lookup & Enrichment APIs](https://botoi.com/api/lookup/): IP geolocation, email validation, DNS records, WHOIS, SSL checks, phone validation, and domain intelligence APIs
- [IP Geolocation API](https://botoi.com/api/lookup/ip-lookup/): Geolocate any IP address for free. Returns country, city, coordinates, timezone, and ASN data powered by Cloudflare edge nodes in under 50ms.
- [IP CIDR Range Check API](https://botoi.com/api/lookup/ip-in-range/): Check if an IP address falls within a CIDR range for free. Returns the network address, broadcast address, prefix length, and total host count instantly.
- [Reverse DNS Lookup API](https://botoi.com/api/lookup/ip-reverse/): Perform reverse DNS lookups for free. Resolve any IP address to its PTR hostname record with query time included.
- [Bulk IP Geolocation API](https://botoi.com/api/lookup/ip-bulk/): Geolocate multiple IP addresses in a single API call for free. Returns country, city, and coordinates for each IP in the batch.
- [Email Validation API](https://botoi.com/api/lookup/email-validate/): Validate email addresses for free in one API call. Checks format, MX records, disposable domains, free providers, role-based addresses, and suggests typo fixes.
- [User Agent Parser API](https://botoi.com/api/lookup/useragent-parse/): Parse any user agent string into browser, OS, and device details for free. Detects bots, crawlers, and headless browsers automatically.
- [Timezone API](https://botoi.com/api/lookup/timezone-get/): Get the current time in any IANA timezone for free. Returns UTC offset, abbreviation, DST status, and unix timestamp.
- [Timezone Converter API](https://botoi.com/api/lookup/timezone-convert/): Convert time between any two IANA timezones for free. Returns formatted datetimes, abbreviations, and the offset difference.
- [DNS Lookup API](https://botoi.com/api/lookup/dns-lookup/): Query DNS records for any domain for free. Supports A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, CAA, and PTR record types.
- [DNS Batch Lookup API](https://botoi.com/api/lookup/dns-batch/): Query multiple DNS record types for a domain in one API call for free. Returns A, AAAA, MX, TXT, and NS records in parallel.
- [DNS Propagation Check API](https://botoi.com/api/lookup/dns-propagation/): Check DNS propagation across Google, Cloudflare, and Quad9 resolvers for free. Verify if your DNS changes have propagated worldwide.
- [URL Metadata API](https://botoi.com/api/lookup/url-metadata/): Extract metadata and Open Graph tags from any URL for free. Returns title, description, OG tags, Twitter Card data, favicon, and canonical URL.
- [WHOIS Lookup API](https://botoi.com/api/lookup/whois-lookup/): Look up WHOIS and RDAP data for any domain for free. Returns registrar, creation date, expiry date, status codes, and nameservers.
- [SSL Check API](https://botoi.com/api/lookup/ssl-check/): Check SSL/HTTPS support and security headers for any domain for free. Scans HSTS, CSP, X-Frame-Options, and Referrer-Policy headers.
- [HTTP Headers API](https://botoi.com/api/lookup/headers-inspect/): Inspect HTTP response headers of any URL for free. Debug proxies, CDNs, and middleware by viewing all headers returned in the response.
- [Phone Validation API](https://botoi.com/api/lookup/phone-validate/): Validate and parse phone numbers for free. Returns E.164 format, national format, country code, and country name.
- [Company Lookup API](https://botoi.com/api/lookup/company-lookup/): Look up company info from a domain for free. Returns page title, meta description, Open Graph data, and favicon URL.
- [Address Validation API](https://botoi.com/api/lookup/address-validate/): Validate and parse any freeform address into structured components for free. Returns street, city, state, postal code, country, coordinates, and confidence score.
- [Address Autocomplete API](https://botoi.com/api/lookup/address-autocomplete/): Get address autocomplete suggestions as users type for free. Returns up to 10 structured address suggestions with coordinates for search-as-you-type forms.
- [DNS Monitoring API](https://botoi.com/api/lookup/dns-monitor-check/): Monitor DNS record changes for any domain for free. Compares current records against the previous snapshot and detects additions, removals, and modifications.
- [SSL Certificate Expiry API](https://botoi.com/api/lookup/ssl-cert-expiry/): Check SSL certificate expiry dates for any domain for free. Returns issuer, valid dates, days remaining, and whether the certificate is expired or expiring soon.
- [Accessibility Check API](https://botoi.com/api/lookup/accessibility-check/): Run 10 accessibility checks on any webpage for free. Detects missing alt text, heading order violations, missing form labels, and more. Returns a score and issue list.
- [Disposable Email List API](https://botoi.com/api/lookup/disposable-email-list/): Get the full list of 700+ known disposable email domains for free. Filter by keyword. Use for client-side email validation or bulk database cleanup.
- [Domain Report API](https://botoi.com/api/lookup/domain-report/): Get a full domain report with DNS records, WHOIS data, SSL certificate details, security headers, and technology stack in a single API call.
- [Email Security Report API](https://botoi.com/api/lookup/email-security-report/): Audit email security for any domain. Returns SPF, DMARC, and DKIM records with a letter grade, score, and actionable recommendations.
- [Social Preview API](https://botoi.com/api/lookup/social-preview-extract/): Extract Open Graph and Twitter Card metadata from any URL. Returns title, description, image, and card type for building link preview cards.
- [IP Intelligence API](https://botoi.com/api/lookup/ip-intelligence/): Profile any IP address with geolocation, ASN, reverse DNS, VPN detection, TLS fingerprint, and connection metadata in a single call.
- [Site Performance API](https://botoi.com/api/lookup/site-performance/): Measure website performance with TTFB, total load time, compression detection, redirect chain tracing, and server identification in one call.
- [DNS Compare API](https://botoi.com/api/lookup/dns-compare/): Compare DNS records across Google, Cloudflare, Quad9, OpenDNS, and Authoritative resolvers. Detect propagation delays and inconsistencies.
- [Redirect Trace API](https://botoi.com/api/lookup/redirect-trace/): Trace the full HTTP redirect chain for any URL. Returns every hop with status code, latency, server header, and final destination.
- [TLS Fingerprint API](https://botoi.com/api/lookup/tls-fingerprint/): Get your TLS fingerprint including JA3 and JA4 hashes, cipher suite, TLS version, HTTP protocol, and bot score from Cloudflare edge.
- [ASN Lookup API](https://botoi.com/api/lookup/asn-lookup/): Look up any Autonomous System Number to get the organization name, country, IP range, registration date, and abuse contact via RDAP.
- [Carbon Estimate API](https://botoi.com/api/lookup/carbon-estimate/): Estimate the CO2 emissions per page view for any URL. Returns grams of CO2, energy usage, and a percentile ranking against the median web page.
- [Weather API](https://botoi.com/api/lookup/weather-current/): Get current weather conditions for any city or lat/lng pair. Returns temperature, humidity, wind speed, precipitation, cloud cover, and weather description.
- [Air Quality API](https://botoi.com/api/lookup/air-quality-check/): Check air quality index (AQI) and pollutant concentrations for any location. Returns US and European AQI, PM2.5, PM10, CO, NO2, SO2, and ozone levels.
- [Elevation API](https://botoi.com/api/lookup/elevation-lookup/): Look up the elevation (altitude above sea level) for any latitude/longitude pair or batch of locations. Returns elevation in meters.
- [On Water API](https://botoi.com/api/lookup/on-water-check/): Determine whether a latitude/longitude pair is over water or land. Returns a boolean water field for fast geospatial classification.
- [Page Rank API](https://botoi.com/api/lookup/page-rank-check/): Check the page rank score and global ranking for any domain. Returns a 0-10 decimal rank, global rank position, and HTTP status code.
- [Public Holidays API](https://botoi.com/api/lookup/holidays-list/): Get a list of public holidays for any country and year. Returns holiday dates, names, local names, and types for 100+ countries.
- [BIN Lookup API](https://botoi.com/api/lookup/bin-lookup/): Look up a bank identification number (BIN/IIN) to get card scheme, type, brand, issuing bank, country, and prepaid status.
- [Domain Search API](https://botoi.com/api/lookup/domain-search/): Search for registered domains matching a keyword. Returns domain names, creation dates, update dates, and availability status across TLDs.
- [NPM Package Info API](https://botoi.com/api/lookup/npm-info/): Look up any npm package to get version, description, license, repository URL, dependency count, keywords, and publication dates.
- [Crypto Price API](https://botoi.com/api/lookup/crypto-price/): Get live cryptocurrency prices, market caps, 24h volume, and price changes in any fiat currency. Supports Bitcoin, Ethereum, and thousands of coins.
- [Crypto Search API](https://botoi.com/api/lookup/crypto-search/): Search for cryptocurrencies by name or ticker symbol. Returns coin ID, full name, symbol, and market cap rank for building autocomplete and coin pickers.
- [Age Estimation API](https://botoi.com/api/lookup/age-estimate/): Estimate the likely age of a person based on their first name. Returns predicted age, sample count, and optional country-specific results.
- [Gender Detection API](https://botoi.com/api/lookup/gender-estimate/): Predict the likely gender of a person from their first name. Returns gender, probability score, sample count, and optional country-specific results.
- [Nationality Prediction API](https://botoi.com/api/lookup/nationality-estimate/): Predict the most likely country of origin for a person based on their name. Returns ranked country probabilities using ISO country codes.
### Text & Data
- [Text & Data APIs](https://botoi.com/api/text-data/): Base64, JSON, Markdown, CSV, XML conversion, regex testing, text analysis, and HTML processing APIs
- [Base64 Encode API](https://botoi.com/api/text-data/base64-encode/): Encode any UTF-8 string to Base64 or URL-safe Base64 with a single API call.
- [Base64 Decode API](https://botoi.com/api/text-data/base64-decode/): Decode Base64 or URL-safe Base64 back to a UTF-8 string.
- [JSON Format API](https://botoi.com/api/text-data/json-format/): Pretty-print and format JSON with configurable indentation.
- [JSON Minify API](https://botoi.com/api/text-data/json-minify/): Remove all whitespace from JSON to reduce payload size.
- [JSON Validate API](https://botoi.com/api/text-data/json-validate/): Validate JSON syntax and get detailed error messages with line and column numbers.
- [JSON Diff API](https://botoi.com/api/text-data/json-diff/): Compare two JSON documents and get a detailed diff showing additions, removals, and changes.
- [Markdown to HTML API](https://botoi.com/api/text-data/markdown-to-html/): Convert Markdown to sanitized HTML with a single API call. Supports GFM tables, code blocks, and task lists.
- [Markdown to Text API](https://botoi.com/api/text-data/markdown-to-text/): Strip all Markdown formatting and return plain text. Useful for search indexing, summaries, and notifications.
- [HTML to Text API](https://botoi.com/api/text-data/html-to-text/): Convert HTML to clean plain text while preserving document structure.
- [Lorem Ipsum API](https://botoi.com/api/text-data/lorem-generate/): Generate lorem ipsum placeholder text as words, sentences, or paragraphs.
- [Regex Test API](https://botoi.com/api/text-data/regex-test/): Test a regex pattern against any string and get all matches with positions.
- [Regex Replace API](https://botoi.com/api/text-data/regex-replace/): Find and replace text using regex patterns with capture group support.
- [Text Stats API](https://botoi.com/api/text-data/text-stats/): Count words, characters, sentences, and paragraphs. Estimate reading time.
- [Slugify API](https://botoi.com/api/text-data/text-slugify/): Convert any text into a clean, URL-safe slug. Handles Unicode, accented characters, and special symbols.
- [Text Truncate API](https://botoi.com/api/text-data/text-truncate/): Truncate text at word boundaries with a custom suffix.
- [Extract URLs API](https://botoi.com/api/text-data/text-extract-urls/): Extract all URLs from any text block. Detects http, https, and protocol-relative URLs.
- [Extract Emails API](https://botoi.com/api/text-data/text-extract-emails/): Extract all email addresses from any text block. Returns deduplicated results with count.
- [Language Detection API](https://botoi.com/api/text-data/text-language/): Detect the language of any text with confidence scores. Supports 50+ languages.
- [Text Case Converter API](https://botoi.com/api/text-data/text-case/): Convert text between camelCase, snake_case, PascalCase, kebab-case, and more.
- [HTML Sanitize API](https://botoi.com/api/text-data/html-sanitize/): Sanitize HTML by removing script tags, event handlers, and dangerous attributes.
- [CSV to JSON API](https://botoi.com/api/text-data/csv-to-json/): Convert CSV data to a JSON array with automatic header detection.
- [JSON to CSV API](https://botoi.com/api/text-data/json-to-csv/): Convert a JSON array to CSV with automatic header generation.
- [XML to JSON API](https://botoi.com/api/text-data/xml-to-json/): Convert XML documents to JSON with attribute and namespace handling.
### Developer Utilities
- [Developer Utility APIs](https://botoi.com/api/developer/): Hashing, UUIDs, URL encoding, password generation, cron parsing, JWT, color conversion, and math evaluation APIs
- [Hash API](https://botoi.com/api/developer/hash-generate/): Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any string with a single API call.
- [Batch Hash API](https://botoi.com/api/developer/hash-batch/): Generate MD5, SHA-1, SHA-256, and SHA-512 hashes for the same input in a single API call.
- [HMAC API](https://botoi.com/api/developer/hash-hmac/): Generate HMAC signatures using SHA-256, SHA-1, or SHA-512. Verify webhook payloads, sign API requests, and authenticate messages.
- [UUID v4 API](https://botoi.com/api/developer/uuid-v4/): Generate cryptographically random UUID v4 identifiers with a single API call.
- [Batch UUID API](https://botoi.com/api/developer/uuid-batch/): Generate up to 100 UUIDs in a single API call. Supports v4 and v7 versions.
- [ULID API](https://botoi.com/api/developer/uuid-ulid/): Generate Universally Unique Lexicographically Sortable Identifiers (ULIDs). Time-ordered, Crockford Base32-encoded.
- [UUID Validate API](https://botoi.com/api/developer/uuid-validate/): Validate any UUID string and detect its version (v1, v4, v5, v7). Returns format validity, version number, and variant.
- [UUID v7 API](https://botoi.com/api/developer/uuid-v7/): Generate UUID v7 identifiers with embedded millisecond timestamps. Time-ordered for efficient database indexing.
- [URL Encode API](https://botoi.com/api/developer/url-encode/): URL-encode any string. Converts special characters to percent-encoded format for safe use in URLs and query strings.
- [URL Decode API](https://botoi.com/api/developer/url-decode/): Decode percent-encoded URL strings back to readable text. Handles %20, %26, and all RFC 3986 escape sequences.
- [URL Parse API](https://botoi.com/api/developer/url-parse/): Parse any URL into its components: protocol, host, port, path, query parameters, and hash fragment.
- [Password Generator API](https://botoi.com/api/developer/password-generate/): Generate cryptographically secure passwords with configurable length, character sets, and count.
- [Password Strength API](https://botoi.com/api/developer/password-strength/): Check password strength and get actionable feedback. Returns a 0-4 score, estimated crack time, and improvement suggestions.
- [Cron Parse API](https://botoi.com/api/developer/cron-parse/): Parse any cron expression and get a plain-English description. Supports standard 5-field cron syntax.
- [Cron Next Runs API](https://botoi.com/api/developer/cron-next/): Get the next scheduled run times for any cron expression. Supports timezone-aware calculations.
- [Mock Data API](https://botoi.com/api/developer/random-data/): Generate realistic fake test data: names, emails, addresses, phone numbers, and more.
- [Color Convert API](https://botoi.com/api/developer/color-convert/): Convert colors between HEX, RGB, and HSL formats with a single API call.
- [Color Palette API](https://botoi.com/api/developer/color-palette/): Generate complementary, analogous, triadic, tetradic, or monochromatic color palettes from any base color.
- [JWT Decode API](https://botoi.com/api/developer/jwt-decode/): Decode any JWT token and inspect its header, payload, and expiry without verifying the signature.
- [JWT Generate API](https://botoi.com/api/developer/jwt-generate/): Generate signed JWT tokens with custom payloads, algorithms, and expiry. Supports HS256, HS384, and HS512.
- [Text Diff API](https://botoi.com/api/developer/diff-text/): Compare two text strings line by line and get a unified diff output.
- [JSON Diff API](https://botoi.com/api/developer/diff-json/): Deep-compare two JSON objects and get a structured list of additions, deletions, and changes at every nesting level.
- [Number Format API](https://botoi.com/api/developer/number-format/): Format numbers with locale-aware separators, currency symbols, and percentage notation.
- [TOTP Generate API](https://botoi.com/api/developer/totp-generate/): Generate time-based one-time passwords (TOTP) from a shared secret. Compatible with Google Authenticator and Authy.
- [TOTP Validate API](https://botoi.com/api/developer/totp-validate/): Validate a TOTP code against a shared secret with configurable time window for clock skew tolerance.
- [Timestamp Convert API](https://botoi.com/api/developer/timestamp-convert/): Convert between Unix timestamps, ISO 8601, and RFC 2822 date formats.
- [Semver Compare API](https://botoi.com/api/developer/semver-compare/): Compare two semantic version strings and determine which is greater, equal, or less.
- [Semver Validate API](https://botoi.com/api/developer/semver-validate/): Validate whether a string is a valid semantic version per the semver 2.0.0 specification.
- [YAML to JSON API](https://botoi.com/api/developer/yaml-to-json/): Convert YAML documents to JSON with a single API call. Handles nested objects, arrays, and multi-document YAML.
- [JSON to YAML API](https://botoi.com/api/developer/json-to-yaml/): Convert JSON objects to clean YAML output with proper indentation.
- [Math Evaluate API](https://botoi.com/api/developer/math-evaluate/): Evaluate mathematical expressions safely via API. Supports arithmetic, parentheses, powers, and common functions.
- [Unit Convert API](https://botoi.com/api/developer/units-convert/): Convert between units of length, weight, temperature, volume, speed, and more.
- [Software License API](https://botoi.com/api/developer/license-lookup/): Look up any open-source license by its SPDX identifier. Returns permissions, conditions, limitations, and OSI/FSF approval status.
### Image & Media
- [Image & Media APIs](https://botoi.com/api/image-media/): OG image generation, QR codes, placeholders, avatars, favicons, and barcode generation APIs
- [OG Image API](https://botoi.com/api/image-media/og-generate/): Generate Open Graph images on the fly with custom titles, descriptions, themes, and brand colors. Returns PNG.
- [QR Code API](https://botoi.com/api/image-media/qr-generate/): Generate QR codes from any text or URL. Returns crisp SVG output with configurable size, error correction, and margin.
- [Placeholder Image API](https://botoi.com/api/image-media/placeholder-image/): Generate placeholder images with custom width, height, background color, text, and format.
- [Avatar API](https://botoi.com/api/image-media/avatar-generate/): Generate unique identicon avatars from any string seed. Returns SVG or PNG at configurable sizes.
- [Favicon API](https://botoi.com/api/image-media/favicon-extract/): Extract all favicon URLs, sizes, and types from any domain. Returns structured JSON with icon metadata.
- [Barcode API](https://botoi.com/api/image-media/barcode-generate/): Generate barcodes in Code128, EAN-13, EAN-8, UPC-A, ITF-14, and MSI formats via API. Returns SVG.
### Security & Validation
- [Security & Validation APIs](https://botoi.com/api/security/): Credit card validation, IBAN checks, VAT verification, AES encryption/decryption, and OTP generation APIs
- [Credit Card Validation API](https://botoi.com/api/security/validate-credit-card/): Validate credit card numbers using the Luhn algorithm and detect the card brand (Visa, Mastercard, Amex).
- [IBAN Validation API](https://botoi.com/api/security/validate-iban/): Validate International Bank Account Numbers (IBAN) and extract country code, bank code, and check digits.
- [VAT Validation API](https://botoi.com/api/security/validate-vat/): Validate European VAT identification numbers and extract the country code and expected format.
- [AES-256 Encryption API](https://botoi.com/api/security/aes-encrypt/): Encrypt text with AES-256-GCM using a password. Server-side encryption with no data storage.
- [AES-256 Decryption API](https://botoi.com/api/security/aes-decrypt/): Decrypt AES-256-GCM ciphertext using a password. Server-side decryption with no data storage.
- [OTP Generator API](https://botoi.com/api/security/otp-generate/): Generate numeric or alphanumeric one-time passwords with configurable length.
- [Breach Check API](https://botoi.com/api/security/breach-check/): Check if a password has appeared in known data breaches using k-Anonymity.
- [Security Headers Grade API](https://botoi.com/api/security/security-grade/): Grade any website's security headers from A+ to F. Checks HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, and Permissions-Policy.
- [Phishing URL Check API](https://botoi.com/api/security/phishing-check/): Check any URL against known phishing and malware databases. Returns threat type, source, and malicious status powered by URLhaus.
### Storage & Services
- [Storage & Services APIs](https://botoi.com/api/storage/): Webhook inboxes, URL shortening, paste storage, and geocoding APIs
- [Webhook Inbox API](https://botoi.com/api/storage/webhook-inbox-create/): Create a temporary webhook inbox that captures incoming HTTP payloads for 24 hours. Free API for testing webhooks, debugging integrations, and inspecting payloads.
- [Webhook Payload List API](https://botoi.com/api/storage/webhook-inbox-list/): Retrieve all captured webhook payloads from a temporary inbox. View timestamps, request bodies, and payload IDs.
- [URL Shortener API](https://botoi.com/api/storage/short-url-create/): Shorten any URL with an optional custom slug. Get a tracked short link with click analytics.
- [Short URL Stats API](https://botoi.com/api/storage/short-url-stats/): Get click count, creation date, and original URL for any shortened link.
- [Paste Bin API](https://botoi.com/api/storage/paste-create/): Create temporary text pastes with syntax highlighting and configurable TTL up to 24 hours.
- [Paste Retrieval API](https://botoi.com/api/storage/paste-get/): Retrieve a stored paste by ID, including content, language tag, and creation timestamp.
- [Distance Calculator API](https://botoi.com/api/storage/geo-distance/): Calculate the great-circle distance between two coordinates using the Haversine formula. Supports km, miles, and nautical miles.
- [Geocoding API](https://botoi.com/api/storage/geo-geocode/): Convert a street address or place name into latitude and longitude coordinates. Powered by OpenStreetMap.
- [Reverse Geocoding API](https://botoi.com/api/storage/geo-reverse/): Convert latitude and longitude coordinates into a human-readable street address. Powered by OpenStreetMap.
- [Batch Geocoding API](https://botoi.com/api/storage/geo-batch/): Geocode up to 10 addresses in a single API call. Returns coordinates for each address with individual error handling.
---
## POST /v1/address/validate
Validate a freeform address and return structured components, coordinates, and a confidence score. Uses geocoding to verify the address exists.
Use cases:
- Validate shipping addresses in checkout flows
- Standardize address formats across systems
- Verify addresses before sending mail or deliveries
Request:
```json
{
"address": "1600 Amphitheatre Parkway, Mountain View, CA"
}
```
Response:
```json
{
"success": true,
"data": {
"valid": true,
"formatted_address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
"components": {
"house_number": "1600",
"road": "Amphitheatre Parkway",
"city": "Mountain View",
"state": "California",
"postcode": "94043",
"country": "United States",
"country_code": "us"
},
"location": { "lat": 37.4224, "lng": -122.0842 },
"confidence": 0.95,
"type": "building"
}
}
```
---
## POST /v1/address/autocomplete
Return address suggestions for partial input. Search-as-you-type for address forms.
Use cases:
- Autocomplete address fields in signup or checkout forms
- Build address search with map integrations
- Reduce user input errors with suggestions
Request:
```json
{
"query": "1600 Amphithea",
"limit": 5,
"lang": "en"
}
```
Response:
```json
{
"success": true,
"data": {
"query": "1600 Amphithea",
"suggestions": [
{
"formatted": "1600 Amphitheatre Parkway, Mountain View, California, US",
"components": {
"house_number": "1600",
"street": "Amphitheatre Parkway",
"city": "Mountain View",
"state": "California",
"country": "United States"
},
"location": { "lat": 37.4224, "lng": -122.0842 }
}
]
}
}
```
---
## POST /v1/geo/batch
Geocode up to 10 addresses in a single request. Individual failures don't fail the batch.
Use cases:
- Geocode a list of customer addresses for map plotting
- Bulk convert addresses to coordinates for analytics
- Validate multiple addresses in one API call
Request:
```json
{
"addresses": ["London, UK", "Paris, France", "xyzzy nowhere"]
}
```
Response:
```json
{
"success": true,
"data": {
"results": [
{ "address": "London, UK", "lat": 51.5074, "lng": -0.1278, "display_name": "London, Greater London, England, United Kingdom", "type": "city" },
{ "address": "Paris, France", "lat": 48.8566, "lng": 2.3522, "display_name": "Paris, Ile-de-France, France", "type": "city" },
{ "address": "xyzzy nowhere", "lat": null, "lng": null, "error": "No results found" }
],
"total": 3,
"resolved": 2,
"failed": 1
}
}
```
---
## POST /v1/disposable-email/list
Return the full list of known disposable email domains. Optionally filter by search string.
Use cases:
- Download the disposable domain list for local validation
- Build client-side email filters without API calls per check
- Audit which disposable domains are in your user database
Request:
```json
{
"search": "guerrilla"
}
```
Response:
```json
{
"success": true,
"data": {
"count": 7,
"domains": ["guerrillamail.biz", "guerrillamail.com", "guerrillamail.de", "guerrillamail.info", "guerrillamail.net", "guerrillamail.org", "guerrillamailblock.com"]
}
}
```
---
## POST /v1/breach/check
Check if a password has appeared in known data breaches. Uses the Have I Been Pwned k-Anonymity API. The full password is never sent over the network.
Use cases:
- Check password strength during signup or password change
- Audit existing passwords against known breaches
- Add breach detection to password policy enforcement
Request:
```json
{
"password": "P@ssw0rd123"
}
```
Response:
```json
{
"success": true,
"data": {
"breached": true,
"breach_count": 37615,
"recommendation": "This password has appeared in data breaches. Choose a different password."
}
}
```
---
## POST /v1/dns-monitor/check
Check current DNS records for a domain and compare against the previous snapshot. Detects record changes over time.
Use cases:
- Monitor DNS changes after migrations
- Detect unauthorized DNS modifications
- Track DNS propagation after updates
Request:
```json
{
"domain": "example.com",
"types": ["A", "MX", "NS"]
}
```
Response:
```json
{
"success": true,
"data": {
"domain": "example.com",
"checked_at": "2026-03-30T12:00:00Z",
"previous_check": "2026-03-30T06:00:00Z",
"changes_detected": true,
"records": {
"A": { "current": ["93.184.216.34"], "previous": ["93.184.215.14"], "changed": true },
"MX": { "current": ["10 mx1.example.com"], "previous": ["10 mx1.example.com"], "changed": false },
"NS": { "current": ["ns1.example.com", "ns2.example.com"], "previous": ["ns1.example.com", "ns2.example.com"], "changed": false }
}
}
}
```
---
## POST /v1/ssl-cert/expiry
Check SSL certificate expiry for a domain using Certificate Transparency logs. Returns days remaining and expiry status.
Use cases:
- Monitor SSL certificate expiry dates across your domains
- Build alerts for certificates expiring within 30 days
- Audit third-party service SSL health
Request:
```json
{
"domain": "github.com"
}
```
Response:
```json
{
"success": true,
"data": {
"domain": "github.com",
"issuer": "DigiCert Inc",
"subject": "github.com",
"valid_from": "2024-03-07T00:00:00Z",
"valid_to": "2025-03-12T23:59:59Z",
"days_remaining": 290,
"expired": false,
"expiring_soon": false
}
}
```
---
## POST /v1/accessibility/check
Fetch a webpage and run 10 basic accessibility checks on the HTML. Returns a score, issues list, and summary.
Use cases:
- Audit website accessibility before launch
- Add accessibility checks to CI/CD pipelines
- Monitor competitor or partner site accessibility
Request:
```json
{
"url": "https://example.com"
}
```
Response:
```json
{
"success": true,
"data": {
"url": "https://example.com",
"score": 70,
"issues": [
{ "rule": "img-alt", "severity": "error", "count": 3, "description": "Images missing alt text" },
{ "rule": "heading-order", "severity": "warning", "count": 1, "description": "Heading levels should increase by one" }
],
"summary": {
"errors": 1,
"warnings": 1,
"passes": 8,
"total_checks": 10
}
}
}
```
### Weather - Current conditions
`POST /v1/weather/current`
Get current weather by city name or coordinates. Powered by Open-Meteo (no API key needed).
Request:
```json
{
"city": "London"
}
```
Or by coordinates:
```json
{
"lat": 51.5074,
"lng": -0.1278
}
```
Response:
```json
{
"success": true,
"data": {
"location": { "city": "London", "country": "United Kingdom", "lat": 51.5074, "lng": -0.1278 },
"temperature": { "current": 15.2, "feels_like": 13.8, "unit": "°C" },
"humidity": 72,
"precipitation": { "value": 0.0, "unit": "mm" },
"wind": { "speed": 12.5, "direction": 220, "gusts": 18.3, "unit": "km/h" },
"cloud_cover": 45,
"weather_code": 2,
"description": "Partly cloudy"
}
}
```
### Air Quality - Check pollution levels
`POST /v1/air-quality/check`
Get air quality index and pollutant levels by coordinates. Powered by Open-Meteo.
Request:
```json
{
"lat": 40.7128,
"lng": -74.006
}
```
Response:
```json
{
"success": true,
"data": {
"location": { "lat": 40.7128, "lng": -74.006 },
"aqi": { "us": 42, "european": 28 },
"aqi_category": "Good",
"pollutants": { "pm2_5": 10.2, "pm10": 18.5, "carbon_monoxide": 201.3, "nitrogen_dioxide": 12.1, "sulphur_dioxide": 3.4, "ozone": 45.6 },
"units": { "pm2_5": "μg/m³", "pm10": "μg/m³", "carbon_monoxide": "μg/m³", "nitrogen_dioxide": "μg/m³", "sulphur_dioxide": "μg/m³", "ozone": "μg/m³" }
}
}
```
### Elevation - Get altitude for coordinates
`POST /v1/elevation/lookup`
Get elevation in meters for a single point or batch of up to 10 locations. Powered by Open-Meteo.
Request (single):
```json
{
"lat": 27.9881,
"lng": 86.925
}
```
Request (batch):
```json
{
"locations": [
{ "lat": 27.9881, "lng": 86.925 },
{ "lat": 36.5785, "lng": -118.2923 }
]
}
```
Response (single):
```json
{
"success": true,
"data": {
"lat": 27.9881,
"lng": 86.925,
"elevation": 8091,
"unit": "m"
}
}
```
### On Water - Check if point is on water
`POST /v1/on-water/check`
Determine whether a geographic coordinate is on water or land.
Request:
```json
{
"lat": 41.01,
"lng": 28.98
}
```
Response:
```json
{
"success": true,
"data": {
"lat": 41.01,
"lng": 28.98,
"water": false
}
}
```
### Phishing - Check URL for malware
`POST /v1/phishing/check`
Check whether a URL is a known phishing or malware URL using the URLhaus database.
Request:
```json
{
"url": "https://suspicious-site.example.com/login"
}
```
Response:
```json
{
"success": true,
"data": {
"url": "https://suspicious-site.example.com/login",
"is_malicious": false,
"threat_type": null,
"source": "URLhaus",
"details": null
}
}
```
### Carbon - Website CO2 footprint
`POST /v1/carbon/estimate`
Estimate CO2 emissions per page load for a given URL. Uses Green Web Foundation methodology.
Request:
```json
{
"url": "https://www.google.com"
}
```
Response:
```json
{
"success": true,
"data": {
"url": "https://www.google.com",
"bytes": 245000,
"co2_grams": 0.082458,
"energy_kwh": 0.0001865506,
"cleaner_than_percent": 72,
"methodology": {
"energy_per_gb_kwh": 0.81,
"carbon_intensity_g_per_kwh": 442,
"median_page_bytes": 2200000,
"source": "Green Web Foundation / HTTP Archive"
}
}
}
```
### Page Rank - Domain authority
`POST /v1/page-rank/check`
Get the Open PageRank score for a domain.
Request:
```json
{
"domain": "google.com"
}
```
Response:
```json
{
"success": true,
"data": {
"domain": "google.com",
"page_rank_decimal": 10,
"rank": 1,
"status_code": 200
}
}
```
### Holidays - Public holidays by country
`POST /v1/holidays/list`
Get public holidays for a given country and year. Powered by Nager.Date (100+ countries).
Request:
```json
{
"country": "US",
"year": 2026
}
```
Response:
```json
{
"success": true,
"data": {
"country": "US",
"year": 2026,
"count": 11,
"holidays": [
{ "date": "2026-01-01", "name": "New Year's Day", "local_name": "New Year's Day", "types": ["Public"] },
{ "date": "2026-01-19", "name": "Martin Luther King, Jr. Day", "local_name": "Martin Luther King, Jr. Day", "types": ["Public"] }
]
}
}
```
### BIN Lookup - Credit card BIN/IIN
`POST /v1/bin/lookup`
Look up card network, type, issuing bank, and country from the first 6-8 digits of a card number.
Request:
```json
{
"bin": "45717360"
}
```
Response:
```json
{
"success": true,
"data": {
"bin": "45717360",
"scheme": "visa",
"type": "debit",
"brand": "Visa Classic",
"country": { "name": "Lithuania", "emoji": "🇱🇹", "alpha2": "LT" },
"bank": { "name": "BANK OF LITHUANIA", "url": "http://www.lb.lt", "phone": null },
"prepaid": false
}
}
```
### Domain Search - Find registered domains
`POST /v1/domain-search/search`
Search for registered domains by keyword. Powered by DomainsDB.
Request:
```json
{
"query": "startup",
"zone": "com",
"limit": 5
}
```
Response:
```json
{
"success": true,
"data": {
"query": "startup",
"zone": "com",
"count": 5,
"domains": [
{ "domain": "startup.com", "create_date": "1997-09-15", "update_date": "2024-08-10", "country": null, "is_dead": false },
{ "domain": "startupgrind.com", "create_date": "2010-02-17", "update_date": "2024-01-12", "country": "US", "is_dead": false }
]
}
}
```
### License - Software license details
`POST /v1/license/lookup`
Get permissions, conditions, and limitations for a software license by SPDX ID.
Request:
```json
{
"id": "MIT"
}
```
Response:
```json
{
"success": true,
"data": {
"id": "MIT",
"name": "MIT License",
"is_osi_approved": true,
"is_fsf_libre": true,
"is_deprecated": false,
"permissions": ["commercial-use", "distribution", "modification", "private-use"],
"conditions": ["include-copyright"],
"limitations": ["no-liability", "no-warranty"]
}
}
```
### npm Package Info
`POST /v1/npm/info`
Get metadata, version history, and dependency count for an npm package.
Request:
```json
{
"package": "express"
}
```
Response:
```json
{
"success": true,
"data": {
"name": "express",
"version": "4.21.0",
"description": "Fast, unopinionated, minimalist web framework",
"license": "MIT",
"homepage": "http://expressjs.com/",
"repository": "https://github.com/expressjs/express",
"keywords": ["express", "framework", "web", "rest", "api"],
"dependencies_count": 31,
"versions_count": 279,
"created": "2010-12-29T19:38:25.450Z",
"modified": "2024-09-11T16:05:41.024Z"
}
}
```
### ASN Details - Network intelligence
`POST /v1/asn/lookup`
Get ASN organization, country, and RDAP registration data. Accepts numeric ASN or "AS" prefixed string.
Request:
```json
{
"asn": "AS13335"
}
```
Response:
```json
{
"success": true,
"data": {
"asn": 13335,
"organization": "Cloudflare, Inc.",
"country": "US",
"rdap": {
"handle": "AS13335",
"name": "CLOUDFLARENET",
"type": "DIRECT ALLOCATION",
"ip_range": null,
"registration_date": "2010-07-14T00:00:00Z",
"abuse_contact": "abuse@cloudflare.com"
}
}
}
```
### Crypto Price
`POST /v1/exchange/price`
Get cryptocurrency price, market cap, volume, and 24h change. Powered by CoinGecko.
Request:
```json
{
"coin": "bitcoin",
"currencies": ["usd", "eur"]
}
```
Response:
```json
{
"success": true,
"data": {
"coin": "bitcoin",
"prices": { "usd": 67234.12, "eur": 62100.50 },
"market_caps": { "usd": 1320000000000, "eur": 1219000000000 },
"volumes_24h": { "usd": 28500000000, "eur": 26340000000 },
"change_24h": { "usd": 2.45, "eur": 2.38 },
"last_updated": "2026-03-30T12:00:00Z"
}
}
```
### Crypto Search
`POST /v1/exchange/search`
Search for cryptocurrencies by name or symbol.
Request:
```json
{
"query": "ethereum"
}
```
Response:
```json
{
"success": true,
"data": {
"query": "ethereum",
"coins": [
{ "id": "ethereum", "name": "Ethereum", "symbol": "eth", "market_cap_rank": 2, "thumb": "https://assets.coingecko.com/coins/images/279/thumb/ethereum.png" }
],
"count": 1
}
}
```
### Age Estimate
`POST /v1/age/estimate`
Estimate age from a first name. Powered by Agify.io.
Request:
```json
{
"name": "Michael",
"country_id": "US"
}
```
Response:
```json
{
"success": true,
"data": {
"name": "michael",
"age": 58,
"count": 233482,
"country_id": "US"
}
}
```
### Gender Estimate
`POST /v1/gender/estimate`
Estimate gender from a first name. Powered by Genderize.io.
Request:
```json
{
"name": "Maria"
}
```
Response:
```json
{
"success": true,
"data": {
"name": "maria",
"gender": "female",
"probability": 0.98,
"count": 456789,
"country_id": null
}
}
```
### Nationality Estimate
`POST /v1/nationality/estimate`
Estimate most likely nationalities from a name. Powered by Nationalize.io.
Request:
```json
{
"name": "Tanaka"
}
```
Response:
```json
{
"success": true,
"data": {
"name": "tanaka",
"countries": [
{ "country_id": "JP", "probability": 0.85 },
{ "country_id": "BR", "probability": 0.05 }
],
"count": 12345
}
}