{
  "openapi": "3.0.1",
  "info": {
    "title": "CoinGecko Scraper — Crypto Prices, Market Cap, Volume, Trending",
    "description": "Crypto market data from CoinGecko for AI agents: top-coin screener with filters and sort, simple prices in 63 currencies, coin profiles, token lookup by contract address, trending, global stats, categories, exchanges, daily history and OHLC candles. No API key.",
    "version": "0.1",
    "x-build-id": "hTcqPXu5rpqpBaoJt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~coingecko-markets/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-coingecko-markets",
        "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~coingecko-markets/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-coingecko-markets",
        "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~coingecko-markets/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-coingecko-markets",
        "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": [
              "markets",
              "price",
              "coins",
              "contract",
              "trending",
              "global",
              "categories",
              "exchanges",
              "history",
              "ohlc",
              "search"
            ],
            "type": "string",
            "description": "What to fetch. Each mode uses only the inputs of its section below.",
            "default": "markets"
          },
          "ids": {
            "title": "Coin ids",
            "type": "array",
            "description": "CoinGecko coin ids (lowercase slugs from the coin page URL coingecko.com/en/coins/<id>), e.g. bitcoin, ethereum, solana, aerodrome-finance. Required for modes price, coins, history, ohlc; optional filter for markets. Not tickers — use mode search to look ids up. Ids CoinGecko does not know are listed in the status and SUMMARY.missing.",
            "items": {
              "type": "string"
            }
          },
          "symbols": {
            "title": "Ticker symbols (markets)",
            "type": "array",
            "description": "Alternative to ids in mode markets: tickers like btc, eth, sol (any case). Each ticker returns its top-ranked coin (CoinGecko's include_tokens=top); several coins can share a ticker, so use ids when you need an exact coin.",
            "items": {
              "type": "string"
            }
          },
          "vsCurrency": {
            "title": "Quote currency",
            "enum": [
              "usd",
              "eur",
              "gbp",
              "jpy",
              "cny",
              "krw",
              "inr",
              "rub",
              "try",
              "brl",
              "cad",
              "aud",
              "chf",
              "aed",
              "ars",
              "bdt",
              "bhd",
              "bmd",
              "clp",
              "czk",
              "dkk",
              "gel",
              "hkd",
              "huf",
              "idr",
              "ils",
              "kwd",
              "lkr",
              "mmk",
              "mxn",
              "myr",
              "ngn",
              "nok",
              "nzd",
              "php",
              "pkr",
              "pln",
              "sar",
              "sek",
              "sgd",
              "thb",
              "twd",
              "uah",
              "vef",
              "vnd",
              "zar",
              "xdr",
              "xag",
              "xau",
              "btc",
              "eth",
              "ltc",
              "bch",
              "bnb",
              "eos",
              "xrp",
              "xlm",
              "link",
              "dot",
              "yfi",
              "sol",
              "bits",
              "sats"
            ],
            "type": "string",
            "description": "Currency for prices, market caps and volumes (CoinGecko's full supported list). Apify refuses a value off this list (e.g. kzt) before the run starts.",
            "default": "usd"
          },
          "limit": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Max rows (markets, trending, categories, exchanges, search). coins/contract: max ids or addresses looked up (one request each; the rest is reported as not looked up). price returns one row per id; history/OHLC return every point in the window.",
            "default": 50
          },
          "fields": {
            "title": "Output fields",
            "type": "array",
            "description": "Keep only these output fields, in this order (e.g. symbol, price, change24h). id is always kept: first, unless you place it. Names are read in any case or snake_case (market_cap); names the mode does not have are left out and named in the status; a list with none of the mode's fields is refused. Empty = all fields.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category id",
            "type": "string",
            "description": "CoinGecko category id (slug from coingecko.com/en/categories/<id>), e.g. layer-2, meme-token, decentralized-finance-defi, artificial-intelligence, real-world-assets-rwa, base-ecosystem, solana-ecosystem, stablecoins. Unknown ids fail with suggestions. Use mode categories or search to list ids."
          },
          "order": {
            "title": "Server order",
            "enum": [
              "market_cap_desc",
              "market_cap_asc",
              "volume_desc",
              "volume_asc",
              "id_asc",
              "id_desc"
            ],
            "type": "string",
            "description": "Order in which CoinGecko ranks coins before the limit is applied (decides which coins enter the result).",
            "default": "market_cap_desc"
          },
          "priceChangeWindows": {
            "title": "Price change windows",
            "type": "array",
            "description": "Which % change fields to fill: 1h, 24h, 7d, 14d, 30d, 200d, 1y (1d and 1w are read as 24h and 7d). Unrequested windows stay null; a window that minChange7d/maxChange7d or sortBy needs is added automatically.",
            "items": {
              "type": "string"
            }
          },
          "includeSparkline": {
            "title": "Include 7d sparkline",
            "type": "boolean",
            "description": "Add sparkline7d (≈168 hourly prices) to each row.",
            "default": false
          },
          "minMarketCap": {
            "title": "Min market cap",
            "minimum": 0,
            "type": "integer",
            "description": "In vsCurrency. Also used by mode categories."
          },
          "maxMarketCap": {
            "title": "Max market cap",
            "minimum": 0,
            "type": "integer",
            "description": "In vsCurrency (e.g. 50000000 to find small caps)."
          },
          "minVolume24h": {
            "title": "Min 24h volume",
            "minimum": 0,
            "type": "integer",
            "description": "In vsCurrency."
          },
          "maxRank": {
            "title": "Max market cap rank",
            "minimum": 1,
            "type": "integer",
            "description": "Keep coins ranked 1..N."
          },
          "minChange24h": {
            "title": "Min 24h change %",
            "type": "number",
            "description": "e.g. 10 = up at least +10% in 24h; decimals allowed (2.5)."
          },
          "maxChange24h": {
            "title": "Max 24h change %",
            "type": "number",
            "description": "e.g. -10 = down at least 10% in 24h; decimals allowed."
          },
          "minChange7d": {
            "title": "Min 7d change %",
            "type": "number",
            "description": "Min 7-day change in %, decimals allowed. The 7d window is requested automatically."
          },
          "maxChange7d": {
            "title": "Max 7d change %",
            "type": "number",
            "description": "Max 7-day change in %, decimals allowed. The 7d window is requested automatically."
          },
          "minVolumeToMcap": {
            "title": "Min volume / market cap",
            "type": "string",
            "description": "Turnover ratio, e.g. 0.2 = daily volume ≥ 20% of market cap (unusual activity)."
          },
          "search": {
            "title": "Name contains",
            "type": "string",
            "description": "Case-insensitive substring of name/symbol/id. Also filters mode categories, and mode exchanges (name/id/country, across all exchanges, not only the first limit). In mode search it is used as the query when query is empty."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "rank",
              "price",
              "marketCap",
              "fdv",
              "volume24h",
              "change1h",
              "change24h",
              "change7d",
              "change14d",
              "change30d",
              "change200d",
              "change1y",
              "volumeToMcap",
              "athChangePct"
            ],
            "type": "string",
            "description": "Client-side sort of the matched coins (nulls last). Empty = keep the server order. The change window it sorts by is requested automatically."
          },
          "sortDir": {
            "title": "Sort direction",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Direction of sortBy.",
            "default": "desc"
          },
          "includeDescription": {
            "title": "Include description",
            "type": "boolean",
            "description": "Coin description (plain text, first 1000 chars).",
            "default": true
          },
          "includeTickers": {
            "title": "Include top tickers",
            "type": "boolean",
            "description": "Top 10 exchange tickers (market, pair, volume, trust score).",
            "default": false
          },
          "includeCommunity": {
            "title": "Include community data",
            "type": "boolean",
            "description": "Twitter followers, Reddit subscribers, Telegram users.",
            "default": false
          },
          "includeDeveloper": {
            "title": "Include developer data",
            "type": "boolean",
            "description": "GitHub stars, forks, commits (4 weeks).",
            "default": false
          },
          "platform": {
            "title": "Asset platform",
            "type": "string",
            "description": "Mode contract: asset platform id, e.g. ethereum, base, solana, binance-smart-chain, arbitrum-one, polygon-pos, optimistic-ethereum, avalanche, tron. Full list: api.coingecko.com/api/v3/asset_platforms."
          },
          "contractAddresses": {
            "title": "Contract addresses",
            "type": "array",
            "description": "Mode contract: token contract addresses on the platform above.",
            "items": {
              "type": "string"
            }
          },
          "includeNfts": {
            "title": "Include trending NFTs",
            "type": "boolean",
            "description": "Mode trending: add NFT collections (type = nft).",
            "default": false
          },
          "includeCategories": {
            "title": "Include trending categories",
            "type": "boolean",
            "description": "Mode trending: add categories (type = category).",
            "default": false
          },
          "categoryOrder": {
            "title": "Categories order",
            "enum": [
              "market_cap_desc",
              "market_cap_asc",
              "name_desc",
              "name_asc",
              "market_cap_change_24h_desc",
              "market_cap_change_24h_asc"
            ],
            "type": "string",
            "description": "Mode categories.",
            "default": "market_cap_desc"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Mode search: name or symbol, e.g. aerodrome, pepe, binance."
          },
          "days": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "History: 1–365 (default 30). OHLC: one of 1, 7, 14, 30, 90, 180, 365 (default 7; other values round up, noted in the status). Candle size is set by CoinGecko: 30 min (1–2 days), 4 h (3–30 days), 4 days (31+ days)."
          },
          "from": {
            "title": "From date",
            "type": "string",
            "description": "History: start date (YYYY-MM-DD). Overrides days. The public API only serves the last 365 days."
          },
          "to": {
            "title": "To date",
            "type": "string",
            "description": "History: end date (YYYY-MM-DD, inclusive), default today. Used only together with from."
          },
          "dailyOnly": {
            "title": "One point per day",
            "type": "boolean",
            "description": "History: keep the last point per UTC day.",
            "default": true
          },
          "coingeckoApiKey": {
            "title": "CoinGecko API key (optional)",
            "type": "string",
            "description": "Optional free Demo key (coingecko.com/en/api): its own quota of 100 calls/min (the actor paces at ~90/min) instead of the shared anonymous per-IP limit (~5–15/min, ~9/min here), so multi-id runs are ~10× faster and CDN blocks are rare. Pro keys: also set apiPlan = pro. Never required."
          },
          "apiPlan": {
            "title": "API key plan",
            "enum": [
              "demo",
              "pro"
            ],
            "type": "string",
            "description": "Which CoinGecko plan the key belongs to (ignored without a key).",
            "default": "demo"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}