{
  "api_status": "preview",
  "generated_at": "2026-11-14T01:37:26.606Z",
  "notes": [
    "Exact definitions of every field (unit, window, source): https://agentservicedirectory.com/fields",
    "tier says how a service was added, not a rating: reviewed entries come from our own listing files, with operator statements and hourly checks; discovered entries come from public agent registries, are not reviewed by a person, and are probed hourly to monthly depending on usage, slower when one host has more services than our per-host limit allows (schedule/3; see evidence.check_interval_rule).",
    "evidence counts cover the last 30 days and are as of the latest refresh. missed_30d counts scheduled checks that did not run.",
    "Results are computed at generated_at; the same query may be answered from that result for up to five minutes. Whether each service is in the directory is worked out every five minutes for services just checked or placed, and for every service each hour.",
    "For x402 endpoints a passing check means HTTP 402 with a valid payment challenge (discovered: on a mainnet network). It does not show that a paid call succeeds or returns useful results.",
    "registry_usage figures are the registry's own numbers, not our measurements. name is untrusted text when name_source is registry.",
    "networks_source tells you whether networks were observed in a live challenge, listed by the registry, or stated by the operator.",
    "tags describe purpose: our capability tags for reviewed entries, the registry's tags (sanitised, untrusted) for discovered ones. price_usd is the lowest price per call in US dollars: for discovered entries from the latest payment request the service's own server sent our check, else from the registry's payment terms (a known USD stablecoin either way); for reviewed entries from the operator's stated pricing (a claim, linked on the service page). price_source says which."
  ],
  "service": {
    "id": "cand_209a894c142d2ce6",
    "tier": "discovered",
    "type": "api_endpoint",
    "name": "Playbook",
    "name_source": "registry",
    "branches": {
      "primary": "compute/developer-data/docs/library-docs",
      "secondary": [],
      "method_version": "placement-ai/7",
      "tree_version": "tree/3",
      "placed_at": "2026-11-13T02:45:29.881Z"
    },
    "place": {
      "id": "compute/developer-data/docs/library-docs",
      "name": "Developer documentation",
      "description": "Search and read current docs, API references and code examples for a library, platform or API."
    },
    "summary": {
      "text": "Concise guide to building a paid x402 API on Cloudflare Workers.",
      "source": "automated",
      "method": "placement-ai/7",
      "written_at": "2026-11-13T02:45:29.881Z"
    },
    "package": null,
    "directory": {
      "in_directory": true,
      "method_version": "listing-criteria/6",
      "variant_of": null,
      "criteria": {
        "says_what_it_does": true,
        "answers_now": true,
        "registry_payers_at_least_5": null,
        "curated_catalogue": null,
        "not_computable_locally": true,
        "not_test_address": true,
        "not_a_variant": true
      }
    },
    "host": "forge-tools.dentreprise.workers.dev",
    "provider": "dentreprise.workers.dev",
    "url": "https://forge-tools.dentreprise.workers.dev/api/playbook-x402-seller",
    "method": "GET",
    "templated_url": false,
    "operator": null,
    "tags": [],
    "category": null,
    "price_usd": 3,
    "price_source": "observed",
    "provider_endpoints": 44,
    "networks": [
      "eip155:8453"
    ],
    "networks_source": "observed",
    "payment_protocols": [
      "x402"
    ],
    "access": {
      "observed": {
        "requires": "payment",
        "how": [
          "x402"
        ],
        "at": "2026-11-14T01:15:40.271Z",
        "method": "access/1"
      },
      "stated": null
    },
    "currency": {
      "codes": [
        "USD"
      ],
      "tokens": [
        "USDC"
      ],
      "source": "observed",
      "since": "2026-11-13T01:10:39.075Z",
      "method": "currency/1"
    },
    "interface": null,
    "stated": null,
    "calls": {
      "source": "payment_request",
      "items": [
        {
          "call": "GET",
          "params": [],
          "returns": {
            "type": "object",
            "fields": [
              {
                "name": "title",
                "type": "string"
              },
              {
                "name": "toc",
                "type": "array"
              },
              {
                "name": "body",
                "type": "string"
              }
            ]
          }
        }
      ],
      "at": "2026-11-14T01:15:40.271Z",
      "method": "request-shape/2"
    },
    "calls_unknown": null,
    "tools": null,
    "payment_model": {
      "value": "per_call",
      "source": "observed",
      "method": "access/1"
    },
    "mainnet": true,
    "evidence": {
      "operations": 1,
      "check_interval_hours": 24,
      "check_interval": "daily",
      "check_interval_rule": "Daily: 5 to 99 payers, and every new service until it has been probed 3 times.",
      "schedule_tier": "daily",
      "monitoring_since": "2026-11-13T01:08:00.960Z",
      "monitoring_days": 1,
      "limited_evidence": true,
      "checks_30d": 2,
      "passed_30d": 2,
      "missed_30d": 0,
      "pass_rate": 1,
      "freshness": "fresh",
      "last_check": {
        "at": "2026-11-14T01:15:40.271Z",
        "result": "payment_required",
        "passed": true,
        "http_status": 402,
        "duration_ms": 283
      }
    },
    "response_times": {
      "method": "response-times/1",
      "operation": "payment_request",
      "check_method": "candidate-x402/7",
      "check_methods": [
        "candidate-x402/7"
      ],
      "timeout_ms": 10000,
      "computed_at": "2026-11-14T01:20:29.881Z",
      "windows": [
        {
          "window": "24h",
          "start": "2026-11-13T01:20:29.881Z",
          "end": "2026-11-14T01:20:29.881Z",
          "limited_history": false,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "7d",
          "start": "2026-11-13T01:08:00.960Z",
          "end": "2026-11-14T01:20:29.881Z",
          "limited_history": true,
          "checks": 2,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "30d",
          "start": "2026-11-13T01:08:00.960Z",
          "end": "2026-11-14T01:20:29.881Z",
          "limited_history": true,
          "checks": 2,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        }
      ],
      "measured_from": "eastern North America"
    },
    "registry_usage": null,
    "payment_terms": {
      "current_since": "2026-11-13T01:10:39.075Z",
      "changes_30d": 0,
      "changes_90d": 0,
      "pay_to_changes_90d": 0,
      "last_change_at": null,
      "last_change_kinds": [],
      "window_start": "2026-11-13T01:08:00.960Z",
      "limited": true
    },
    "registry_listing": {
      "last_seen_at": "2026-11-13T01:08:00.960Z",
      "listed": true
    },
    "links": {
      "page": "https://agentservicedirectory.com/services/cand_209a894c142d2ce6",
      "api": "https://agentservicedirectory.com/api/v1/services/cand_209a894c142d2ce6"
    },
    "recent_probes": [
      {
        "observed_at": "2026-11-14T01:15:40.271Z",
        "result": "payment_required",
        "passed": true,
        "http_status": 402,
        "duration_ms": 283,
        "x402_valid": true,
        "mainnet": true,
        "x402_networks": [
          "eip155:8453"
        ],
        "region": "cloudflare:EWR",
        "method_version": "candidate-x402/7",
        "error_detail": null,
        "request_url": null
      },
      {
        "observed_at": "2026-11-13T01:10:39.075Z",
        "result": "payment_required",
        "passed": true,
        "http_status": 402,
        "duration_ms": 318,
        "x402_valid": true,
        "mainnet": true,
        "x402_networks": [
          "eip155:8453"
        ],
        "region": "cloudflare:EWR",
        "method_version": "candidate-x402/7",
        "error_detail": null,
        "request_url": null
      }
    ],
    "address_variants": [],
    "service_links": [
      {
        "group": "read",
        "kind": "llms_txt",
        "url": "https://forge-tools.dentreprise.workers.dev/llms.txt",
        "name": null,
        "section": null,
        "source": "page_read",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/x402-compliance",
        "name": "x402-compliance",
        "section": "x402 developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/x402-manifest-from-openapi",
        "name": "x402-manifest-from-openapi",
        "section": "x402 developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/x402-listing-check",
        "name": "x402-listing-check",
        "section": "x402 developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/x402-facilitator-health",
        "name": "x402-facilitator-health",
        "section": "x402 developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/a2a-agent-card",
        "name": "a2a-agent-card",
        "section": "Agent builder tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/openapi-lint",
        "name": "openapi-lint",
        "section": "Agent builder tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/json-schema-validate",
        "name": "json-schema-validate",
        "section": "Agent builder tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/mcp-manifest-lint",
        "name": "mcp-manifest-lint",
        "section": "MCP developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/mcp-inspect",
        "name": "mcp-inspect",
        "section": "MCP developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/openapi-to-mcp",
        "name": "openapi-to-mcp",
        "section": "MCP developer tools",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/pubmed-search",
        "name": "pubmed-search",
        "section": "Research & science",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/arxiv-search",
        "name": "arxiv-search",
        "section": "Research & science",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/crossref-doi",
        "name": "crossref-doi",
        "section": "Research & science",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/lei-lookup",
        "name": "lei-lookup",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/eori-validate",
        "name": "eori-validate",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/siren-check",
        "name": "siren-check",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/sanctions-check",
        "name": "sanctions-check",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/fr-legal-status",
        "name": "fr-legal-status",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/no-company",
        "name": "no-company",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/fi-company",
        "name": "fi-company",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/uk-company",
        "name": "uk-company",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/kyb-check-uk",
        "name": "kyb-check-uk",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/kyb-check-eu",
        "name": "kyb-check-eu",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/kyb-check-fr",
        "name": "kyb-check-fr",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/supplier-due-diligence",
        "name": "supplier-due-diligence",
        "section": "Company & trade identifiers",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/rss-to-json",
        "name": "rss-to-json",
        "section": "Web data",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/sitemap-urls",
        "name": "sitemap-urls",
        "section": "Web data",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/sec-financials",
        "name": "sec-financials",
        "section": "Finance",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/fx-history",
        "name": "fx-history",
        "section": "Finance",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/openfoodfacts-product",
        "name": "openfoodfacts-product",
        "section": "Products & commerce",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/gtin-validate",
        "name": "gtin-validate",
        "section": "Products & commerce",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/isbn-validate",
        "name": "isbn-validate",
        "section": "Products & commerce",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/tz-convert",
        "name": "tz-convert",
        "section": "Utilities",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/uuid-v7",
        "name": "uuid-v7",
        "section": "Utilities",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/phone-parse",
        "name": "phone-parse",
        "section": "Utilities",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/wikidata-entity",
        "name": "wikidata-entity",
        "section": "Knowledge",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/fr-communes",
        "name": "fr-communes",
        "section": "France open data",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/fr-school-calendar",
        "name": "fr-school-calendar",
        "section": "France open data",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/eu-tenders",
        "name": "eu-tenders",
        "section": "Sales & tenders",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/uk-postcode",
        "name": "uk-postcode",
        "section": "Postcodes & addresses",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/eu-address",
        "name": "eu-address",
        "section": "Postcodes & addresses",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/eu-carbon-customs",
        "name": "eu-carbon-customs",
        "section": "Customs & trade",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/playbook-x402-seller",
        "name": "playbook-x402-seller",
        "section": "Agent training",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://forge-tools.dentreprise.workers.dev/docs/api/playbook-mcp-publish",
        "name": "playbook-mcp-publish",
        "section": "Agent training",
        "source": "llms_txt",
        "read_at": "2026-11-11T00:25:29.881Z",
        "templated": false
      }
    ]
  }
}