{
  "openapi": "3.0.1",
  "info": {
    "title": "x402 API Directory — Paid Agent Endpoints & Usage Stats",
    "description": "Directory of live x402 (HTTP 402 stablecoin micropayment) API endpoints that AI agents pay for, from Coinbase CDP discovery: search by keyword, tag, category or domain; filter by network, asset, price, 30-day usage and liveness; optional HTTP probe and per-domain rollups.",
    "version": "0.1",
    "x-build-id": "a1GjmSP4AGchfNBZM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~x402-endpoints/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-x402-endpoints",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/yadroo~x402-endpoints/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-x402-endpoints",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/yadroo~x402-endpoints/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-x402-endpoints",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "endpoints",
              "domains"
            ],
            "type": "string",
            "description": "endpoints = one item per x402 resource. domains = group matching endpoints by host with totals (calls, payers, price range) — the seller list for lead-gen and market sizing.",
            "default": "endpoints"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Keywords matched against description, tags, service name, category and URL (all words must match, case-insensitive substring). Empty = no text filter."
          },
          "category": {
            "title": "Category contains",
            "type": "string",
            "description": "Seller-declared Bazaar category, substring match (free-form; common values: AI, finance, search, trading-signals, defi, data-provider, utility, Infra, sports, marketing, security, social). See README."
          },
          "tags": {
            "title": "Tags (any of)",
            "type": "array",
            "description": "Keep endpoints carrying at least one of these tags, e.g. [\"twitter\",\"x\"] or [\"sec\",\"edgar\"]. Tags are lower-cased seller strings; see README for the most common ones.",
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "Domains (any of)",
            "type": "array",
            "description": "Only endpoints on these hosts (subdomains included), e.g. [\"api.nansen.ai\",\"stableenrich.dev\"].",
            "items": {
              "type": "string"
            }
          },
          "excludeDomains": {
            "title": "Exclude domains",
            "type": "array",
            "description": "Drop endpoints on these hosts (subdomains included). Handy to remove noisy self-listed sellers.",
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Domain (legacy single value)",
            "type": "string",
            "description": "Same as domains with one value; kept for backward compatibility."
          },
          "curatedOnly": {
            "title": "Curated only",
            "type": "boolean",
            "description": "Only listings Coinbase marked as curated (~80 in the directory).",
            "default": false
          },
          "networks": {
            "title": "Networks (any of)",
            "type": "array",
            "description": "Payment networks accepted. Use aliases (base, solana, polygon, arbitrum, optimism, ethereum, bsc, avalanche, celo, worldchain, monad, xlayer, hyperevm, sei, xrpl, stellar, algorand, hedera, hyperliquid, noble, lightning) or CAIP-2 ids (eip155:8453) or a bare EVM chain id (8453).",
            "items": {
              "type": "string",
              "enum": [
                "base",
                "base-sepolia",
                "solana",
                "solana-devnet",
                "polygon",
                "polygon-amoy",
                "arbitrum",
                "optimism",
                "ethereum",
                "bsc",
                "avalanche",
                "celo",
                "worldchain",
                "monad",
                "xlayer",
                "hyperevm",
                "sei",
                "4663",
                "unichain",
                "sonic",
                "xdc",
                "etherlink",
                "peaq",
                "megaeth",
                "xrpl-evm",
                "1187947933",
                "5042002",
                "xrpl",
                "stellar",
                "algorand",
                "algorand-short",
                "hedera",
                "hyperliquid",
                "noble",
                "gonka",
                "lightning",
                "animica",
                "zeroclick",
                "aws",
                "alipay"
              ],
              "enumTitles": [
                "Base (eip155:8453)",
                "Base Sepolia (testnet) (eip155:84532)",
                "Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp)",
                "Solana Devnet (testnet) (solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1)",
                "Polygon (eip155:137)",
                "Polygon Amoy (testnet) (eip155:80002)",
                "Arbitrum One (eip155:42161)",
                "OP Mainnet (eip155:10)",
                "Ethereum (eip155:1)",
                "BNB Smart Chain (eip155:56)",
                "Avalanche C-Chain (eip155:43114)",
                "Celo (eip155:42220)",
                "World Chain (eip155:480)",
                "Monad (eip155:143)",
                "X Layer (eip155:196)",
                "HyperEVM (eip155:999)",
                "Sei (eip155:1329)",
                "Global Dollar Network (chain 4663) (eip155:4663)",
                "Unichain (eip155:130)",
                "Sonic (eip155:146)",
                "XDC Network (eip155:50)",
                "Etherlink (eip155:42793)",
                "Peaq (eip155:3338)",
                "MegaETH (eip155:4326)",
                "XRPL EVM Sidechain (eip155:1440000)",
                "EVM chain 1187947933 (eip155:1187947933)",
                "EVM chain 5042002 (eip155:5042002)",
                "XRP Ledger (xrpl:0)",
                "Stellar (stellar:pubnet)",
                "Algorand (algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=)",
                "Algorand (short id) (algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k)",
                "Hedera (hedera:mainnet)",
                "Hyperliquid L1 (hyperliquid:mainnet)",
                "Noble (Cosmos) (cosmos:noble-1)",
                "Gonka (Cosmos) (cosmos:gonka-mainnet)",
                "Bitcoin Lightning (lightning:mainnet)",
                "Animica (animica:1)",
                "ZeroClick card (fiat) (zeroclick:card)",
                "AWS (Base settlement) (aws:base)",
                "Alipay (fiat) (alipay)"
              ]
            }
          },
          "network": {
            "title": "Network (legacy single value)",
            "type": "string",
            "description": "Same as networks with one value, e.g. eip155:8453. Kept for backward compatibility."
          },
          "excludeTestnets": {
            "title": "Exclude testnet-only listings",
            "type": "boolean",
            "description": "Drop endpoints that only accept Base Sepolia / Solana Devnet / Polygon Amoy payments.",
            "default": false
          },
          "assets": {
            "title": "Settlement assets (any of)",
            "type": "array",
            "description": "Asset symbols, e.g. [\"USDC\"], [\"USDT\",\"USDT0\"], [\"EURC\"]. Resolved from the on-chain address via the built-in dictionary (see README).",
            "items": {
              "type": "string"
            }
          },
          "minPriceUsd": {
            "title": "Min price (USD)",
            "type": "string",
            "description": "Only endpoints priced at or above this amount per call, e.g. \"0.01\". Empty = no floor."
          },
          "maxPriceUsd": {
            "title": "Max price (USD)",
            "type": "string",
            "description": "Only endpoints priced at or below this amount per call, e.g. \"0.05\". Endpoints with unknown/non-USD price are excluded when set. Empty = no cap."
          },
          "minPayers": {
            "title": "Min unique payers (30d)",
            "minimum": 0,
            "type": "integer",
            "description": "Only endpoints with at least this many unique payers in the last 30 days. Use 2+ to skip self-tested listings, 5+ for real traction.",
            "default": 1
          },
          "minCalls": {
            "title": "Min calls (30d)",
            "minimum": 0,
            "type": "integer",
            "description": "Only endpoints with at least this many paid calls in the last 30 days.",
            "default": 1
          },
          "calledWithinDays": {
            "title": "Last paid call within N days",
            "minimum": 0,
            "type": "integer",
            "description": "Liveness by usage: keep endpoints whose last paid call is at most N days old (e.g. 7). Empty/0 = no filter."
          },
          "updatedWithinDays": {
            "title": "Listing updated within N days",
            "minimum": 0,
            "type": "integer",
            "description": "Keep listings whose metadata was (re)published at most N days ago. Empty/0 = no filter."
          },
          "checkLive": {
            "title": "Probe endpoints live (HTTP check)",
            "type": "boolean",
            "description": "After filtering, send one unpaid request to each returned endpoint and record liveStatus / isLive (true when it answers 402 Payment Required) / liveLatencyMs / liveNote. Adds ~1-10 s per 50 endpoints; only the returned rows are probed.",
            "default": false
          },
          "methods": {
            "title": "HTTP methods",
            "type": "array",
            "description": "Keep endpoints whose declared method is one of these (GET, POST). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "GET",
                "POST",
                "PUT",
                "DELETE",
                "HEAD",
                "PATCH"
              ],
              "enumTitles": [
                "GET",
                "POST",
                "PUT",
                "DELETE",
                "HEAD",
                "PATCH"
              ]
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "payers",
              "calls",
              "price",
              "price_desc",
              "recent",
              "updated",
              "domain"
            ],
            "type": "string",
            "description": "Ordering of results.",
            "default": "payers"
          },
          "limit": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum endpoints (or domains) to return.",
            "default": 50
          },
          "includeExamples": {
            "title": "Include input/output examples",
            "type": "boolean",
            "description": "Keep inputExample (method, query/body example) and outputExample from the seller Bazaar metadata. Turn off for a compact catalog.",
            "default": true
          },
          "includeSchemas": {
            "title": "Include JSON schemas",
            "type": "boolean",
            "description": "Add inputSchema / outputSchema (seller-declared JSON Schema) — useful to auto-generate tool definitions for agents. Can be large.",
            "default": false
          },
          "includeAccepts": {
            "title": "Include all payment options",
            "type": "boolean",
            "description": "Add accepts[] with every payment option (scheme, network, asset, raw amount, USD price, payTo). Default output keeps only the primary USD option.",
            "default": false
          },
          "maxScan": {
            "title": "Max listings to scan",
            "minimum": 500,
            "maximum": 50000,
            "type": "integer",
            "description": "Upper bound on directory listings read (500 per request). The whole directory is ~15k; with minPayers >= 2 the scan stops early automatically.",
            "default": 20000
          },
          "fields": {
            "title": "Fields to output",
            "type": "array",
            "description": "Return only these fields (id always kept). See README Output table for names.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}