{
 "openapi": "3.1.0",
 "info": {
  "title": "FreeTier Agent API",
  "version": "2.0.0",
  "summary": "Pay-per-call data API for AI agents (x402, USDC on Base).",
  "description": "No signup, no API key. Call a paid endpoint, receive HTTP 402 with x402 payment requirements, pay in USDC on Base, retry with the payment header, and get JSON. Free samples and discovery routes need no payment. Data comes only from openly licensed sources and contains no personal data; every response cites its sources. Built with AI assistance by FreeTier Kits.",
  "x-guidance": "All endpoints are GET with query parameters. 1) Call without payment to get the 402 challenge (x402 v2 in the PAYMENT-REQUIRED header, base64 JSON; x402 v1 in the JSON body). 2) Sign an exact-scheme USDC payment on Base (eip155:8453) for the amount in accepts[].amount (atomic units, 6 decimals) to payTo. 3) Repeat the same request with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1). Any x402 client works (@x402/fetch, x402 for Python). If processing fails you get 4xx/5xx and the payment is not settled. Try the free /api/*/sample routes first.",
  "contact": {
   "name": "FreeTier Kits",
   "email": "tec@mail.grokbot.com",
   "url": "https://freetier-agent-api.pages.dev"
  }
 },
 "servers": [
  {
   "url": "https://freetier-agent-api.pages.dev"
  }
 ],
 "tags": [
  {
   "name": "Paid",
   "description": "Pay-per-call endpoints ($0.002-$0.05)"
  },
  {
   "name": "Paid dumps",
   "description": "Full dataset downloads ($5-$9)"
  },
  {
   "name": "Free",
   "description": "Free samples and health"
  },
  {
   "name": "Discovery",
   "description": "Machine-readable discovery files"
  }
 ],
 "paths": {
  "/api/apis/search": {
   "get": {
    "operationId": "apis_search",
    "summary": "Search 2,230 link-checked public & free-tier APIs (59 categories).",
    "description": "Search 2,230 link-checked public & free-tier APIs (59 categories). Filters: q, category, auth=none, alive=yes, https=yes, kind, limit<=50.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "free-text search in name/description/category",
      "example": "weather"
     },
     {
      "name": "category",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "auth",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "'none' = no API key",
      "example": "none"
     },
     {
      "name": "alive",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes",
        "no"
       ]
      },
      "example": "yes"
     },
     {
      "name": "https",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes"
       ]
      }
     },
     {
      "name": "kind",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "public_api",
        "dev_free_tier",
        "ai_api_free_tier"
       ]
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "1-50, default 10",
      "example": "10"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 1,
         "results": [
          {
           "name": "Open-Meteo",
           "category": "Weather",
           "auth": "None",
           "https": "Yes",
           "url": "https://open-meteo.com/",
           "alive": "yes",
           "http_status": 200,
           "checked_at": "2026-10-17T19:51Z"
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/free-tiers": {
   "get": {
    "operationId": "free_tiers",
    "summary": "Current free-tier limits for developer services (hosting, DB, auth, email, CI, monitoring) and AI/LLM APIs, with officia",
    "description": "Current free-tier limits for developer services (hosting, DB, auth, email, CI, monitoring) and AI/LLM APIs, with official source URLs. Filter: q, category.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "llama"
     },
     {
      "name": "category",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 1,
         "results": [
          {
           "name": "Groq - Llama models",
           "category": "AI / LLM API",
           "free_tier_details": "Free tier with per-model rate limits",
           "url": "https://console.groq.com/docs/rate-limits"
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/robots-check": {
   "get": {
    "operationId": "robots_check",
    "summary": "Check whether a URL may be crawled per the site's robots.txt for a given user-agent.",
    "description": "Check whether a URL may be crawled per the site's robots.txt for a given user-agent. Returns allowed, matched rule, crawl-delay, sitemaps.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "url",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "absolute http(s) URL",
      "example": "https://example.com/some/page"
     },
     {
      "name": "ua",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "user-agent token, default *",
      "example": "MyAgent"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "url": "https://example.com/some/page",
         "user_agent": "*",
         "allowed": true,
         "matched_rule": null,
         "crawl_delay": null,
         "sitemaps": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/page-meta": {
   "get": {
    "operationId": "page_meta",
    "summary": "Fetch a public web page (robots.txt respected) and return title, meta description, canonical, Open Graph/Twitter tags, l",
    "description": "Fetch a public web page (robots.txt respected) and return title, meta description, canonical, Open Graph/Twitter tags, language, headings, link counts, HTTP status.\n\nPrice: $0.02 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.02"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "20000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "url",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "absolute http(s) URL",
      "example": "https://example.com"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "url": "https://example.com",
         "status": 200,
         "title": "Example Domain",
         "description": null,
         "canonical": null,
         "lang": "en",
         "og": {},
         "h1": [
          "Example Domain"
         ],
         "links": {
          "internal": 0,
          "external": 1
         }
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dataset/full": {
   "get": {
    "operationId": "dataset_full",
    "summary": "Buy the full Verified API Directory dataset (2,230 rows, JSON, CC BY 4.0 + MIT sources) in one call.",
    "description": "Buy the full Verified API Directory dataset (2,230 rows, JSON, CC BY 4.0 + MIT sources) in one call.\n\nPrice: $8 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "8"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "8000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "license": "CC BY 4.0 (compilation) + MIT (public-apis source)",
         "count": 2230,
         "rows": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/llm-pricing": {
   "get": {
    "operationId": "llm_pricing",
    "summary": "AI model list prices (USD per 1M input/output/cached tokens, context window, vision/tools/reasoning flags) for ~3,000 mo",
    "description": "AI model list prices (USD per 1M input/output/cached tokens, context window, vision/tools/reasoning flags) for ~3,000 models across OpenAI, Anthropic, Google, Mistral, Groq, Bedrock, Azure, Together, Fireworks and more, plus verified free tiers/rate limits of AI APIs. Filters: q, provider, free=yes, max_input_per_m, min_context, vision=yes, tools=yes, sort=input|output|context, limit<=100.\n\nPrice: $0.02 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.02"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "20000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "llama"
     },
     {
      "name": "provider",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "vision",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes"
       ]
      }
     },
     {
      "name": "tools",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes"
       ]
      }
     },
     {
      "name": "free",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes"
       ]
      },
      "example": "yes"
     },
     {
      "name": "max_input_per_m",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "min_context",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "input",
        "output",
        "context"
       ]
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "10"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 1,
         "models": [
          {
           "id": "gpt-4o-mini",
           "provider": "openai",
           "input_per_m_usd": 0.15,
           "output_per_m_usd": 0.6,
           "max_input_tokens": 128000
          }
         ],
         "free_tiers": [],
         "sources": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/llm-cost": {
   "get": {
    "operationId": "llm_cost",
    "summary": "Token & cost calculator: estimate tokens for a text (or pass input_tokens/output_tokens) and price it across several mod",
    "description": "Token & cost calculator: estimate tokens for a text (or pass input_tokens/output_tokens) and price it across several models using provider list prices (LiteLLM price table, MIT). Params: models (comma list of model ids like gpt-4o-mini, claude-sonnet-4-5, gemini/gemini-2.5-flash or search words, max 15), text or input_tokens, output_tokens, calls.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "models",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "gpt-4o-mini,claude-sonnet-4-5,gemini/gemini-2.5-flash"
     },
     {
      "name": "text",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "input_tokens",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "1200"
     },
     {
      "name": "output_tokens",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "300"
     },
     {
      "name": "calls",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "1000"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "input_tokens": 1200,
         "output_tokens": 300,
         "calls": 1000,
         "results": [
          {
           "model": "openai/gpt-4o-mini",
           "cost_per_call_usd": 0.00036,
           "total_usd": 0.36
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/mcp-servers": {
   "get": {
    "operationId": "mcp_servers",
    "summary": "Search 4,259 MCP (Model Context Protocol) servers by keyword, category, language (python/typescript/go/rust...), scope (",
    "description": "Search 4,259 MCP (Model Context Protocol) servers by keyword, category, language (python/typescript/go/rust...), scope (cloud/local) and official flag. Returns repo URL and description.\n\nPrice: $0.02 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.02"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "20000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "postgres"
     },
     {
      "name": "category",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "language",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "python"
     },
     {
      "name": "scope",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "cloud",
        "local",
        "embedded"
       ]
      }
     },
     {
      "name": "official",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "yes"
       ]
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "10"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 1,
         "results": [
          {
           "name": "org/postgres-mcp",
           "url": "https://github.com/org/postgres-mcp",
           "category": "Databases",
           "languages": [
            "python"
           ],
           "scope": [
            "local"
           ]
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/page-check": {
   "get": {
    "operationId": "page_check",
    "summary": "One-call page audit for agents: HTTP status, redirects, latency, title, meta description, canonical, lang, Open Graph, J",
    "description": "One-call page audit for agents: HTTP status, redirects, latency, title, meta description, canonical, lang, Open Graph, JSON-LD types, headings, word count, plus agent-friendliness: robots.txt rules for 14 AI crawlers, llms.txt, sitemap, and a 0-100 score with reasons.\n\nPrice: $0.03 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.03"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "30000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "url",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "https://example.com"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "url": "https://example.com",
         "status": 200,
         "title": "Example Domain",
         "agent_friendliness": {
          "score": 55,
          "llms_txt": false,
          "ai_bots": {
           "GPTBot": "allowed"
          }
         }
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/link-check": {
   "get": {
    "operationId": "link_check",
    "summary": "Check up to 20 URLs in one call: HTTP status, final URL after redirects, redirect count, latency, content-type, ok flag.",
    "description": "Check up to 20 URLs in one call: HTTP status, final URL after redirects, redirect count, latency, content-type, ok flag.\n\nPrice: $0.05 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.05"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "50000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "urls",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "comma-separated absolute URLs, max 20",
      "example": "https://example.com,https://example.org/missing"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "checked": 2,
         "broken": 1,
         "results": [
          {
           "url": "https://example.com",
           "status": 200,
           "ok": true,
           "ms": 120
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/country": {
   "get": {
    "operationId": "country",
    "summary": "Country reference lookup by ISO2/ISO3/name: capital, population, area, continent, currency, phone prefix, TLD, languages",
    "description": "Country reference lookup by ISO2/ISO3/name: capital, population, area, continent, currency, phone prefix, TLD, languages, neighbours, time zones with current UTC offset and local time.\n\nPrice: $0.002 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.002"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "2000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "ISO2, ISO3 or country name",
      "example": "DK"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "iso2": "DK",
         "name": "Denmark",
         "capital": "Copenhagen",
         "currency_code": "DKK",
         "timezones": [
          {
           "timezone": "Europe/Copenhagen",
           "utc_offset": "GMT+2",
           "local_time": "2026-10-17 22:00"
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/holidays": {
   "get": {
    "operationId": "holidays",
    "summary": "Public holidays for ~490 countries/territories for 2026 and 2027; optional date=YYYY-MM-DD answers is_holiday.",
    "description": "Public holidays for ~490 countries/territories for 2026 and 2027; optional date=YYYY-MM-DD answers is_holiday.\n\nPrice: $0.002 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.002"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "2000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "country",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "ISO2",
      "example": "DK"
     },
     {
      "name": "year",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "2026",
        "2027"
       ]
      },
      "example": "2026"
     },
     {
      "name": "date",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "country": "DK",
         "year": 2026,
         "holidays": [
          {
           "date": "2026-01-01",
           "name": "Nytårsdag"
          }
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/currency": {
   "get": {
    "operationId": "currency",
    "summary": "Currency conversion with official ECB euro reference rates (~30 currencies, daily).",
    "description": "Currency conversion with official ECB euro reference rates (~30 currencies, daily). Params: from, to, amount. Also returns the rate date.\n\nPrice: $0.002 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.002"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "2000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "from",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "USD"
     },
     {
      "name": "to",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "DKK"
     },
     {
      "name": "amount",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "100"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "from": "USD",
         "to": "DKK",
         "amount": 100,
         "rate": 6.9,
         "result": 690,
         "rate_date": "2026-10-16"
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/base-gas": {
   "get": {
    "operationId": "base_gas",
    "summary": "Live Base mainnet gas price (gwei), latest block, and estimated ETH cost of a USDC transfer (~65k gas) and a plain ETH t",
    "description": "Live Base mainnet gas price (gwei), latest block, and estimated ETH cost of a USDC transfer (~65k gas) and a plain ETH transfer (21k gas).\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "block": 30000000,
         "gas_price_gwei": 0.006,
         "usdc_transfer_eth": 3.9e-7
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/page-markdown": {
   "get": {
    "operationId": "page_markdown",
    "summary": "Convert a public web page to clean Markdown (title, headings, paragraphs, lists, links, code), scripts/nav/footer remove",
    "description": "Convert a public web page to clean Markdown (title, headings, paragraphs, lists, links, code), scripts/nav/footer removed, max ~60k chars. robots.txt respected.\n\nPrice: $0.03 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.03"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "30000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "url",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "https://example.com"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "url": "https://example.com",
         "title": "Example Domain",
         "markdown": "# Example Domain\n\n..."
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dump/mcp-servers": {
   "get": {
    "operationId": "dump_mcp_servers",
    "summary": "Full MCP server directory dump (4,259 servers, JSON).",
    "description": "Full MCP server directory dump (4,259 servers, JSON). Source awesome-mcp-servers (MIT).\n\nPrice: $9 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "9"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "9000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 4259,
         "rows": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dump/llm-pricing": {
   "get": {
    "operationId": "dump_llm_pricing",
    "summary": "Full dump: list prices of ~3,000 AI models (LiteLLM table, MIT) + verified AI/dev free tiers with limits (JSON).",
    "description": "Full dump: list prices of ~3,000 AI models (LiteLLM table, MIT) + verified AI/dev free tiers with limits (JSON).\n\nPrice: $5 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "5"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "5000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "models": [],
         "free_tiers": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dump/world-reference": {
   "get": {
    "operationId": "dump_world_reference",
    "summary": "Full dump: 252 countries (GeoNames, CC BY 4.0), 418 time zones, ~14,000 public holidays 2026-2027 (python-holidays, MIT)",
    "description": "Full dump: 252 countries (GeoNames, CC BY 4.0), 418 time zones, ~14,000 public holidays 2026-2027 (python-holidays, MIT). JSON.\n\nPrice: $6 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "6"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "6000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "countries": [],
         "timezones": [],
         "holidays": {}
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/email-verify": {
   "get": {
    "operationId": "email_verify",
    "summary": "Email address check WITHOUT sending mail or SMTP probing: RFC-style syntax check, domain MX/A records via DNS-over-HTTPS",
    "description": "Email address check WITHOUT sending mail or SMTP probing: RFC-style syntax check, domain MX/A records via DNS-over-HTTPS, disposable-domain flag (CC0 blocklist, ~9,900 domains), role-address flag (info@, support@...), free-mail flag. Verdict: deliverable_domain | risky | invalid. Cannot confirm that the mailbox itself exists. Addresses are not stored or logged.\n\nPrice: $0.005 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.005"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "5000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "email",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "one email address",
      "example": "jane.doe@example.com"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "email": "jane.doe@example.com",
         "verdict": "risky",
         "syntax_ok": true,
         "domain": "example.com",
         "has_mx": false,
         "disposable": false,
         "role": false,
         "free_mail": false,
         "reasons": [
          "no MX records"
         ]
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/extract-json": {
   "get": {
    "operationId": "extract_json",
    "summary": "Messy text + JSON Schema in, clean JSON out.",
    "description": "Messy text + JSON Schema in, clean JSON out. Uses a small LLM (Cloudflare Workers AI, Llama 3.1 8B, JSON mode) when available, else a deterministic key:value/regex extractor; the result is type-checked against your schema and missing fields are null. Limits: text <= 6,000 chars, schema <= 30 top-level properties (flat objects, arrays of scalars); the model can misread ambiguous text, so check important values. Params: text, schema (JSON string), mode=auto|heuristic. GET query or POST JSON body.\n\nPrice: $0.015 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.015"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "15000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "text",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "input text, max 6000 chars",
      "example": "Order #4471 from ACME GmbH, total EUR 1.299,00, due 2026-11-30, contact billing@acme.example"
     },
     {
      "name": "schema",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "JSON Schema (type object with properties) as a JSON string",
      "example": "{\"type\":\"object\",\"properties\":{\"order_id\":{\"type\":\"string\"},\"company\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"currency\":{\"type\":\"string\"},\"due_date\":{\"type\":\"string\",\"format\":\"date\"},\"email\":{\"type\":\"string\",\"format\":\"email\"}}}"
     },
     {
      "name": "mode",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "auto",
        "heuristic"
       ]
      }
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "data": {
          "order_id": "4471",
          "company": "ACME GmbH",
          "total": 1299,
          "currency": "EUR",
          "due_date": "2026-11-30",
          "email": "billing@acme.example"
         },
         "method": "workers-ai",
         "missing": [],
         "sources": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   },
   "post": {
    "operationId": "extract_json_post",
    "summary": "Messy text + JSON Schema in, clean JSON out.",
    "description": "Messy text + JSON Schema in, clean JSON out. Uses a small LLM (Cloudflare Workers AI, Llama 3.1 8B, JSON mode) when available, else a deterministic key:value/regex extractor; the result is type-checked against your schema and missing fields are null. Limits: text <= 6,000 chars, schema <= 30 top-level properties (flat objects, arrays of scalars); the model can misread ambiguous text, so check important values. Params: text, schema (JSON string), mode=auto|heuristic. GET query or POST JSON body.\n\nPrice: $0.015 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.015"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "15000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "data": {
          "order_id": "4471",
          "company": "ACME GmbH",
          "total": 1299,
          "currency": "EUR",
          "due_date": "2026-11-30",
          "email": "billing@acme.example"
         },
         "method": "workers-ai",
         "missing": [],
         "sources": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    },
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "text",
         "schema"
        ],
        "properties": {
         "text": {
          "type": "string",
          "maxLength": 6000
         },
         "schema": {
          "type": "object",
          "description": "JSON Schema with type object and properties"
         },
         "mode": {
          "type": "string",
          "enum": [
           "auto",
           "heuristic"
          ]
         }
        }
       },
       "example": {
        "text": "Order ID: 4471, Total: EUR 1.299,00",
        "schema": {
         "type": "object",
         "properties": {
          "order_id": {
           "type": "string"
          },
          "total": {
           "type": "number"
          }
         }
        }
       }
      }
     }
    }
   }
  },
  "/api/x402-services": {
   "get": {
    "operationId": "x402_services",
    "summary": "Search ~8,900 live x402 pay-per-call APIs (verified/unverified by nohumans.directory probes, CC BY 4.0): name, endpoint ",
    "description": "Search ~8,900 live x402 pay-per-call APIs (verified/unverified by nohumans.directory probes, CC BY 4.0): name, endpoint URL, category, price, chains, status, score. Filters: q, category, chain, max_price, status=verified, limit<=100.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "weather"
     },
     {
      "name": "category",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "chain",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "max_price",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "0.05"
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "verified",
        "unverified"
       ]
      },
      "example": "verified"
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "10"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "total": 1,
         "results": [
          {
           "name": "Weather forecast",
           "endpoint_url": "https://example.com/api/weather",
           "category": "data.weather",
           "price_usd": 0.01,
           "chains": [
            "base"
           ],
           "status": "verified"
          }
         ],
         "sources": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/agent-tools": {
   "get": {
    "operationId": "agent_tools",
    "summary": "One search across ~13,000 agent tools: 4,259 MCP servers (awesome-mcp-servers, MIT) and ~8,900 x402 pay-per-call APIs (n",
    "description": "One search across ~13,000 agent tools: 4,259 MCP servers (awesome-mcp-servers, MIT) and ~8,900 x402 pay-per-call APIs (nohumans.directory, CC BY 4.0). Filters: q, type=mcp|x402, limit<=100.\n\nPrice: $0.01 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.01"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "10000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "pdf"
     },
     {
      "name": "type",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "enum": [
        "mcp",
        "x402"
       ]
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "example": "10"
     },
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "total": 1,
         "results": [
          {
           "type": "mcp",
           "name": "example/pdf-mcp",
           "url": "https://github.com/example/pdf-mcp",
           "category": "Document processing"
          }
         ],
         "sources": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dump/x402-services": {
   "get": {
    "operationId": "dump_x402_services",
    "summary": "Full dump: ~8,900 x402 pay-per-call APIs with category, price, chains and probe status (JSON).",
    "description": "Full dump: ~8,900 x402 pay-per-call APIs with category, price, chains and probe status (JSON). Data from nohumans.directory, CC BY 4.0, attribution required.\n\nPrice: $6 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "6"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "6000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 8887,
         "rows": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/dump/agent-tools": {
   "get": {
    "operationId": "dump_agent_tools",
    "summary": "Full dump: Agent Tool Directory, ~13,000 MCP servers + x402 APIs in one unified schema (JSON).",
    "description": "Full dump: Agent Tool Directory, ~13,000 MCP servers + x402 APIs in one unified schema (JSON). MIT + CC BY 4.0 sources, attribution included.\n\nPrice: $7 USDC on Base per successful call (x402). Unpaid requests get HTTP 402; failed calls are not settled.",
    "tags": [
     "Paid dumps"
    ],
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "7"
     },
     "protocols": [
      {
       "x402": {}
      }
     ]
    },
    "x-x402": {
     "scheme": "exact",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "amount_atomic": "7000000",
     "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
     "facilitators": [
      "https://facilitator.payai.network",
      "https://facilitator.xpay.sh"
     ]
    },
    "parameters": [
     {
      "$ref": "#/components/parameters/PaymentSignature"
     },
     {
      "$ref": "#/components/parameters/XPayment"
     }
    ],
    "responses": {
     "200": {
      "description": "Paid result (JSON). Every response includes a `sources` array with name, license and URL of the underlying data.",
      "headers": {
       "PAYMENT-RESPONSE": {
        "$ref": "#/components/headers/PaymentResponse"
       }
      },
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        },
        "example": {
         "count": 13146,
         "rows": []
        }
       }
      }
     },
     "400": {
      "description": "Invalid or missing parameters (checked after payment verification; you are not charged).",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     },
     "402": {
      "$ref": "#/components/responses/PaymentRequired"
     },
     "502": {
      "description": "Upstream or processing error. The payment is not settled, so you are not charged.",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/api/apis/sample": {
   "get": {
    "operationId": "free_sample_api_directory",
    "summary": "Free sample: API directory",
    "description": "Five live, no-key public APIs from the directory. No payment.",
    "tags": [
     "Free"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/api/mcp-servers/sample": {
   "get": {
    "operationId": "free_sample_mcp_servers",
    "summary": "Free sample: MCP servers",
    "description": "Five MCP servers plus the total count. No payment.",
    "tags": [
     "Free"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/api/x402-services/sample": {
   "get": {
    "operationId": "free_sample_x402_services",
    "summary": "Free sample: x402 services",
    "description": "Five verified x402 APIs (nohumans.directory data, CC BY 4.0). No payment.",
    "tags": [
     "Free"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/api/llm-pricing/sample": {
   "get": {
    "operationId": "free_sample_model_prices",
    "summary": "Free sample: model prices",
    "description": "List prices for five popular models plus the total count. No payment.",
    "tags": [
     "Free"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/health": {
   "get": {
    "operationId": "health",
    "summary": "Health",
    "description": "Service status, row count and configured facilitators.",
    "tags": [
     "Free"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/.well-known/x402": {
   "get": {
    "operationId": "x402_discovery",
    "summary": "x402 discovery",
    "description": "x402 discovery document: {version:1, resources:[...]} plus a priced catalog.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/openapi.json": {
   "get": {
    "operationId": "openapi_spec",
    "summary": "OpenAPI spec",
    "description": "This document.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/llms-full.txt": {
   "get": {
    "operationId": "llms_full_txt",
    "summary": "llms-full.txt",
    "description": "Full endpoint reference for LLM agents.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "text/markdown": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  },
  "/.well-known/ai-plugin.json": {
   "get": {
    "operationId": "ai_plugin_manifest",
    "summary": "AI plugin manifest",
    "description": "ai-plugin.json style manifest pointing to this OpenAPI spec.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/.well-known/agent.json": {
   "get": {
    "operationId": "agent_json_manifest",
    "summary": "agent.json manifest",
    "description": "Open 402 agent.json: payments (x402 on Base) and priced intents.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/.well-known/mcp.json": {
   "get": {
    "operationId": "mcp_manifest",
    "summary": "MCP manifest",
    "description": "Describes the remote MCP server at /mcp.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     }
    }
   }
  },
  "/mcp": {
   "post": {
    "operationId": "mcp",
    "summary": "MCP server (Streamable HTTP)",
    "description": "Model Context Protocol endpoint, JSON-RPC 2.0 over POST (initialize, tools/list, tools/call). Free sample tools return data; paid tools return the HTTP request plus x402 payment requirements.",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "jsonrpc": {
          "type": "string",
          "const": "2.0"
         },
         "id": {},
         "method": {
          "type": "string"
         },
         "params": {
          "type": "object"
         }
        },
        "required": [
         "jsonrpc",
         "method"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "JSON-RPC response",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "additionalProperties": true
        }
       }
      }
     },
     "202": {
      "description": "Notification accepted"
     }
    }
   }
  },
  "/llms.txt": {
   "get": {
    "operationId": "llms_txt",
    "summary": "llms.txt",
    "description": "Plain-text overview for LLM agents (llmstxt.org).",
    "tags": [
     "Discovery"
    ],
    "security": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "text/markdown": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  }
 },
 "components": {
  "parameters": {
   "PaymentSignature": {
    "name": "PAYMENT-SIGNATURE",
    "in": "header",
    "required": false,
    "description": "x402 v2 payment payload (base64 JSON). Omit to receive the 402 challenge.",
    "schema": {
     "type": "string"
    }
   },
   "XPayment": {
    "name": "X-PAYMENT",
    "in": "header",
    "required": false,
    "description": "x402 v1 payment payload (base64 JSON). Alternative to PAYMENT-SIGNATURE.",
    "schema": {
     "type": "string"
    }
   }
  },
  "headers": {
   "PaymentRequired": {
    "description": "x402 v2 PaymentRequired object, base64-encoded JSON: {x402Version:2, error, resource, accepts:[{scheme:\"exact\", network:\"eip155:8453\", amount, asset, payTo, maxTimeoutSeconds, extra}], extensions:{bazaar}}.",
    "schema": {
     "type": "string"
    }
   },
   "PaymentResponse": {
    "description": "x402 settlement result, base64-encoded JSON (also sent as X-PAYMENT-RESPONSE for v1 clients).",
    "schema": {
     "type": "string"
    }
   }
  },
  "responses": {
   "PaymentRequired": {
    "description": "Payment required (x402). The PAYMENT-REQUIRED header holds the x402 v2 requirements; the JSON body holds the same requirements in x402 v1 format. Pay the stated USDC amount on Base and retry with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1).",
    "headers": {
     "PAYMENT-REQUIRED": {
      "$ref": "#/components/headers/PaymentRequired"
     }
    },
    "content": {
     "application/json": {
      "schema": {
       "$ref": "#/components/schemas/PaymentRequiredV1"
      }
     }
    }
   }
  },
  "schemas": {
   "Error": {
    "type": "object",
    "properties": {
     "error": {
      "type": "string"
     }
    },
    "required": [
     "error"
    ],
    "additionalProperties": true
   },
   "PaymentRequiredV1": {
    "type": "object",
    "required": [
     "x402Version",
     "accepts"
    ],
    "properties": {
     "x402Version": {
      "type": "integer",
      "const": 1
     },
     "error": {
      "type": "string"
     },
     "accepts": {
      "type": "array",
      "items": {
       "type": "object",
       "required": [
        "scheme",
        "network",
        "maxAmountRequired",
        "resource",
        "payTo",
        "asset"
       ],
       "properties": {
        "scheme": {
         "type": "string",
         "const": "exact"
        },
        "network": {
         "type": "string",
         "const": "base"
        },
        "maxAmountRequired": {
         "type": "string",
         "description": "USDC atomic units (6 decimals); 10000 = $0.01"
        },
        "resource": {
         "type": "string",
         "format": "uri"
        },
        "description": {
         "type": "string"
        },
        "mimeType": {
         "type": "string"
        },
        "payTo": {
         "type": "string",
         "const": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B"
        },
        "maxTimeoutSeconds": {
         "type": "integer"
        },
        "asset": {
         "type": "string",
         "const": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "outputSchema": {
         "type": "object"
        },
        "extra": {
         "type": "object"
        }
       }
      }
     }
    }
   }
  }
 }
}