{
  "openapi": "3.0.1",
  "info": {
    "title": "CoinMarketCap Scraper",
    "description": "Extract CoinMarketCap market data with no API key: rank, price, market cap, fully diluted valuation, volume, supply, all-time high and low, dominance, and 24h, 7d and 30d change. Export data, run via API, schedule and monitor runs, or integrate with other tools.",
    "version": "0.0",
    "x-build-id": "AsfRhHWcjpKdaJifV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/publicmoney~coinmarketcap-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-publicmoney-coinmarketcap-scraper",
        "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/publicmoney~coinmarketcap-scraper/runs": {
      "post": {
        "operationId": "runs-sync-publicmoney-coinmarketcap-scraper",
        "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/publicmoney~coinmarketcap-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-publicmoney-coinmarketcap-scraper",
        "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": {
          "slugs": {
            "title": "🪙 Coin slugs or CoinMarketCap URLs",
            "maxItems": 500,
            "type": "array",
            "description": "CoinMarketCap slugs to read, one per line. These are the identifiers in the coin's CoinMarketCap URL and not tickers, so Bitcoin is 'bitcoin' and Polygon is 'polygon-ecosystem-token'. Leave the field empty to sweep the top of the market in the order you chose instead of naming coins. Examples: 'bitcoin', 'ethereum', 'solana'.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "🔀 Mode",
            "enum": [
              "market",
              "news"
            ],
            "type": "string",
            "description": "What each record represents. Market returns one record per coin with rank, price, market cap, supply and change. News returns one record per story CoinMarketCap carries for the coins you named, charged as news items rather than as market records. Examples: 'market', 'news'. Default is 'market'.",
            "default": "market"
          },
          "newsPerCoin": {
            "title": "📰 News per coin",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many stories to return per coin in news mode, newest first. CoinMarketCap carries a rolling window per coin, so a value above what it holds returns everything available. Ignored in market mode. Examples: 3, 10, 25. Default is 10.",
            "default": 10
          },
          "convert": {
            "title": "💱 Quote currency",
            "type": "string",
            "description": "Currency the ranking walk is quoted in, uppercase. Examples: 'USD', 'EUR', 'GBP', 'BTC'. Default is USD. When you request coins by slug, set Convert currency ID instead — CoinMarketCap's by-slug route ignores this field.",
            "default": "USD"
          },
          "sortBy": {
            "title": "↕️ Sort by",
            "enum": [
              "market_cap",
              "volume_24h",
              "percent_change_24h",
              "percent_change_7d",
              "price",
              "date_added"
            ],
            "type": "string",
            "description": "How a market sweep is ordered when the slug list is left empty. Ignored when you name coins. Examples: 'market_cap', 'volume_24h', 'percent_change_24h'. Default is 'market_cap'.",
            "default": "market_cap"
          },
          "sortType": {
            "title": "🔃 Sort direction",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Whether the sweep runs from the top of the chosen sort or the bottom. Ascending on market cap surfaces the smallest listed assets. Examples: 'desc', 'asc'. Default is 'desc'.",
            "default": "desc"
          },
          "cryptoType": {
            "title": "🧬 Asset type",
            "enum": [
              "all",
              "coins",
              "tokens"
            ],
            "type": "string",
            "description": "Restricts a market sweep to native coins only, tokens only, or both. Ignored when you name slugs. Examples: 'all', 'coins', 'tokens'. Default is 'all'.",
            "default": "all"
          },
          "includeCoinDetail": {
            "title": "📇 Include coin detail",
            "type": "boolean",
            "description": "Adds the project detail block to each record: links and the description CoinMarketCap carries. It costs an extra request per coin. Examples: true for research, false for prices. Default is off.",
            "default": false
          },
          "maxItems": {
            "title": "🔢 Max items",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of coins to read, counted from the top of the list. Use it to cap spend on a long list without editing the list itself. Examples: 10, 50, 200.",
            "default": 100
          },
          "convertId": {
            "title": "🔢 Convert currency ID",
            "minimum": 1,
            "type": "integer",
            "description": "CoinMarketCap's numeric currency id, as an alternative to the Convert code. Use it for currencies whose code is ambiguous. Leave it empty to use Convert. Examples: 2781 for USD, 2790 for EUR."
          },
          "includeHistory": {
            "title": "📈 Include price history",
            "type": "boolean",
            "description": "Adds a price series for the trailing window set by History days. It costs an extra request per coin. Examples: true for a chart, false for a snapshot. Default is off.",
            "default": false
          },
          "historyDays": {
            "title": "📅 History window (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "How many days of price history to include when history is on. Longer windows return more points and take longer to fetch, and the source thins the resolution on long ranges. Ignored when history is off. Examples: 7, 30, 365. Default is 30.",
            "default": 30
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}