{
  "count": 50,
  "tools": [
    {
      "index": 1,
      "name": "dns_lookup",
      "title": "DNS Lookup",
      "description": "Use this when you need current public DNS records for a domain.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "domain": "example.com",
        "type": "A"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/dns_lookup"
    },
    {
      "index": 2,
      "name": "rdap_domain_lookup",
      "title": "RDAP Domain Lookup",
      "description": "Use this when you need current domain registration data from the authoritative RDAP service.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "domain": "example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/rdap_domain_lookup"
    },
    {
      "index": 3,
      "name": "redirect_trace",
      "title": "Redirect Trace",
      "description": "Use this when you need the complete HTTPS redirect path and final response.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/redirect_trace"
    },
    {
      "index": 4,
      "name": "http_status_check",
      "title": "HTTP Status Check",
      "description": "Use this when you need the live status and latency of a public HTTPS URL.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/http_status_check"
    },
    {
      "index": 5,
      "name": "response_headers_inspect",
      "title": "Response Headers Inspect",
      "description": "Use this when you need normalized live response headers from a public HTTPS URL.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/response_headers_inspect"
    },
    {
      "index": 6,
      "name": "page_metadata_extract",
      "title": "Page Metadata Extract",
      "description": "Use this when you need title, description, canonical, robots, language, and social metadata from a live HTML page.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/page_metadata_extract"
    },
    {
      "index": 7,
      "name": "page_links_extract",
      "title": "Page Links Extract",
      "description": "Use this when you need deduplicated internal and external links from a live HTML page.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com",
        "limit": 100
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/page_links_extract"
    },
    {
      "index": 8,
      "name": "structured_data_extract",
      "title": "Structured Data Extract",
      "description": "Use this when you need JSON-LD and supported microdata types from a live page.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/structured_data_extract"
    },
    {
      "index": 9,
      "name": "canonical_check",
      "title": "Canonical Check",
      "description": "Use this when you need to verify a page canonical against its final live URL.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/canonical_check"
    },
    {
      "index": 10,
      "name": "robots_fetch_analyze",
      "title": "Robots Fetch Analyze",
      "description": "Use this when you need the live robots.txt rules and sitemap declarations for a site.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "origin": "https://example.com",
        "user_agent": "*"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/robots_fetch_analyze"
    },
    {
      "index": 11,
      "name": "sitemap_fetch_analyze",
      "title": "Sitemap Fetch Analyze",
      "description": "Use this when you need to inspect a live XML sitemap or sitemap index.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://freetoolboxes.com/sitemap.xml",
        "limit": 1000
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/sitemap_fetch_analyze"
    },
    {
      "index": 12,
      "name": "url_indexability_check",
      "title": "URL Indexability Check",
      "description": "Use this when you need a live technical assessment of whether a URL is crawlable and indexable.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/url_indexability_check"
    },
    {
      "index": 13,
      "name": "security_headers_audit",
      "title": "Security Headers Audit",
      "description": "Use this when you need a focused audit of important HTTP security headers on a live URL.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "url": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/security_headers_audit"
    },
    {
      "index": 14,
      "name": "well_known_discover",
      "title": "Well-Known Discover",
      "description": "Use this when you need to find standard machine-readable discovery documents on a public site.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "origin": "https://example.com"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/well_known_discover"
    },
    {
      "index": 15,
      "name": "currency_convert_current",
      "title": "Currency Convert Current",
      "description": "Use this when you need a current, source-attributed currency conversion using ECB reference rates.",
      "category": "Live Web Data",
      "network": true,
      "example": {
        "amount": 100,
        "from": "USD",
        "to": "EUR"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/currency_convert_current"
    },
    {
      "index": 16,
      "name": "exchange_rates_list",
      "title": "Exchange Rates List",
      "description": "Use this when you need the current currencies and EUR reference rates published by the ECB.",
      "category": "Live Web Data",
      "network": true,
      "example": {},
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/exchange_rates_list"
    },
    {
      "index": 17,
      "name": "json_validate",
      "title": "JSON Validate",
      "description": "Use this when you need exact JSON syntax validation and the top-level value type.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "text": "{\"ok\":true}"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_validate"
    },
    {
      "index": 18,
      "name": "json_format",
      "title": "JSON Format",
      "description": "Use this when you need deterministic JSON formatting or minification.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "text": "{\"b\":2,\"a\":1}",
        "indent": 2,
        "sort_keys": true
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_format"
    },
    {
      "index": 19,
      "name": "json_pointer_get",
      "title": "JSON Pointer Get",
      "description": "Use this when you need the exact value addressed by an RFC 6901 JSON Pointer.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "document": {
          "users": [
            {
              "name": "Ada"
            }
          ]
        },
        "pointer": "/users/0/name"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_pointer_get"
    },
    {
      "index": 20,
      "name": "json_patch_apply",
      "title": "JSON Patch Apply",
      "description": "Use this when you need to safely apply RFC 6902 operations to a JSON document.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "document": {
          "name": "old"
        },
        "patch": [
          {
            "op": "replace",
            "path": "/name",
            "value": "new"
          }
        ]
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_patch_apply"
    },
    {
      "index": 21,
      "name": "json_diff",
      "title": "JSON Diff",
      "description": "Use this when you need deterministic RFC 6902 operations that transform one JSON value into another.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "before": {
          "a": 1
        },
        "after": {
          "a": 2
        }
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_diff"
    },
    {
      "index": 22,
      "name": "json_schema_validate",
      "title": "JSON Schema Validate",
      "description": "Use this when you need local JSON Schema validation without fetching remote references.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "schema": {
          "type": "object",
          "required": [
            "id"
          ]
        },
        "data": {
          "id": 1
        }
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_schema_validate"
    },
    {
      "index": 23,
      "name": "openapi_validate",
      "title": "OpenAPI Validate",
      "description": "Use this when you need structural validation of an OpenAPI 3.x document without resolving remote references.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "document": {
          "openapi": "3.1.0",
          "info": {
            "title": "Example",
            "version": "1.0.0"
          },
          "paths": {}
        }
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/openapi_validate"
    },
    {
      "index": 24,
      "name": "yaml_to_json",
      "title": "YAML to JSON",
      "description": "Use this when you need safe YAML converted to structured JSON.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "yaml": "name: Ada\nactive: true"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/yaml_to_json"
    },
    {
      "index": 25,
      "name": "json_to_yaml",
      "title": "JSON to YAML",
      "description": "Use this when you need a JSON value serialized as deterministic YAML.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "value": {
          "name": "Ada",
          "active": true
        }
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_to_yaml"
    },
    {
      "index": 26,
      "name": "csv_to_json",
      "title": "CSV to JSON",
      "description": "Use this when you need quoted CSV parsed into JSON rows with explicit size limits.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "csv": "name,age\nAda,36",
        "headers": true
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/csv_to_json"
    },
    {
      "index": 27,
      "name": "json_to_csv",
      "title": "JSON to CSV",
      "description": "Use this when you need an array of flat JSON objects serialized as standards-compatible CSV.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "rows": [
          {
            "name": "Ada",
            "age": 36
          }
        ]
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/json_to_csv"
    },
    {
      "index": 28,
      "name": "xml_format",
      "title": "XML Format",
      "description": "Use this when you need XML syntax checked and deterministically formatted without DTD or entities.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "xml": "<root><item>1</item></root>",
        "indent": 2
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/xml_format"
    },
    {
      "index": 29,
      "name": "xml_to_json",
      "title": "XML to JSON",
      "description": "Use this when you need XML converted to JSON while blocking DTD and entity expansion attacks.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "xml": "<root><item>1</item></root>"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/xml_to_json"
    },
    {
      "index": 30,
      "name": "query_string_parse",
      "title": "Query String Parse",
      "description": "Use this when you need a URL query string parsed with duplicate values preserved.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "query": "a=1&a=2&name=Ada"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/query_string_parse"
    },
    {
      "index": 31,
      "name": "query_string_build",
      "title": "Query String Build",
      "description": "Use this when you need deterministic URL query encoding from scalar or array values.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "parameters": {
          "a": [
            1,
            2
          ],
          "name": "Ada"
        }
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/query_string_build"
    },
    {
      "index": 32,
      "name": "text_diff",
      "title": "Text Diff",
      "description": "Use this when you need an exact line-level difference between two bounded text values.",
      "category": "Structured Data",
      "network": false,
      "example": {
        "before": "one\ntwo",
        "after": "one\nthree"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/text_diff"
    },
    {
      "index": 33,
      "name": "regex_test",
      "title": "Regex Test",
      "description": "Use this when you need safe RE2-compatible matching without catastrophic backtracking or backreferences.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "pattern": "[A-Z][a-z]+",
        "text": "Hello world",
        "flags": "gu"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/regex_test"
    },
    {
      "index": 34,
      "name": "semver_compare",
      "title": "SemVer Compare",
      "description": "Use this when you need exact Semantic Version precedence comparison.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "a": "1.2.3",
        "b": "2.0.0"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/semver_compare"
    },
    {
      "index": 35,
      "name": "semver_satisfies",
      "title": "SemVer Satisfies",
      "description": "Use this when you need to test a Semantic Version against a range.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "version": "1.5.0",
        "range": "^1.2.0"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/semver_satisfies"
    },
    {
      "index": 36,
      "name": "cron_describe",
      "title": "Cron Describe",
      "description": "Use this when you need an exact field-by-field explanation of a cron expression.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "expression": "0 9 * * 1-5"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/cron_describe"
    },
    {
      "index": 37,
      "name": "cron_next_runs",
      "title": "Cron Next Runs",
      "description": "Use this when you need deterministic upcoming times for a cron expression in an IANA time zone.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "expression": "0 9 * * 1-5",
        "timezone": "America/New_York",
        "count": 5
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/cron_next_runs"
    },
    {
      "index": 38,
      "name": "timestamp_convert",
      "title": "Timestamp Convert",
      "description": "Use this when you need an ISO date, Unix seconds, and Unix milliseconds for the same instant.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "value": 1704067200,
        "unit": "seconds"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/timestamp_convert"
    },
    {
      "index": 39,
      "name": "timezone_convert",
      "title": "Timezone Convert",
      "description": "Use this when you need one instant represented in a specific IANA time zone.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "datetime": "2026-08-21T14:00:00Z",
        "timezone": "America/New_York"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/timezone_convert"
    },
    {
      "index": 40,
      "name": "date_difference",
      "title": "Date Difference",
      "description": "Use this when you need the exact elapsed duration between two instants.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "start": "2026-01-01T00:00:00Z",
        "end": "2026-01-02T12:00:00Z"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/date_difference"
    },
    {
      "index": 41,
      "name": "duration_parse",
      "title": "Duration Parse",
      "description": "Use this when you need an ISO or human duration normalized to exact units.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "duration": "2h 30m"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/duration_parse"
    },
    {
      "index": 42,
      "name": "unit_convert",
      "title": "Unit Convert",
      "description": "Use this when you need an exact conversion among supported length, mass, volume, data, speed, angle, or temperature units.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "value": 10,
        "from": "km",
        "to": "mi"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/unit_convert"
    },
    {
      "index": 43,
      "name": "hash_digest",
      "title": "Hash Digest",
      "description": "Use this when you need a cryptographic digest of UTF-8 text using a Web Crypto algorithm.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "text": "hello",
        "algorithm": "SHA-256",
        "encoding": "hex"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/hash_digest"
    },
    {
      "index": 44,
      "name": "uuid_generate",
      "title": "UUID Generate",
      "description": "Use this when you need one or more cryptographically random UUID version 4 identifiers.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "count": 3
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/uuid_generate"
    },
    {
      "index": 45,
      "name": "jwt_decode",
      "title": "JWT Decode",
      "description": "Use this when you need to inspect JWT header and payload claims without verifying its signature.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "token": "eyJhbGciOiJub25lIn0.eyJzdWIiOiIxMjMifQ."
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/jwt_decode"
    },
    {
      "index": 46,
      "name": "jwt_expiry_check",
      "title": "JWT Expiry Check",
      "description": "Use this when you need to inspect exp, nbf, and iat timing without verifying the JWT signature.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "token": "eyJhbGciOiJub25lIn0.eyJleHAiOjQxMDI0NDQ4MDB9."
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/jwt_expiry_check"
    },
    {
      "index": 47,
      "name": "base64_encode",
      "title": "Base64 Encode",
      "description": "Use this when you need UTF-8 text encoded as standard or URL-safe Base64.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "text": "hello",
        "url_safe": false
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/base64_encode"
    },
    {
      "index": 48,
      "name": "base64_decode",
      "title": "Base64 Decode",
      "description": "Use this when you need Base64 decoded to UTF-8 text with invalid UTF-8 reported.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "base64": "aGVsbG8="
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/base64_decode"
    },
    {
      "index": 49,
      "name": "text_chunk",
      "title": "Text Chunk",
      "description": "Use this when you need deterministic bounded text chunks with optional overlap for downstream AI processing.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "text": "one two three four",
        "max_size": 2,
        "overlap": 1,
        "unit": "words"
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/text_chunk"
    },
    {
      "index": 50,
      "name": "redact_sensitive_data",
      "title": "Redact Sensitive Data",
      "description": "Use this when you need common secrets and personal identifiers replaced before further processing.",
      "category": "Exact Utilities",
      "network": false,
      "example": {
        "text": "Email ada@example.com and token sk-abcdefghijklmnopqrstuvwxyz",
        "categories": [
          "email",
          "api_key"
        ]
      },
      "endpoint": "https://api.freetoolboxes.com/api/v1/tools/redact_sensitive_data"
    }
  ]
}