# CoinGecko Scraper — Markets, Trending & Exchanges (`logiover/coingecko-scraper`) Actor

Scrape CoinGecko by market cap, coin ID, or category. Extract price, volume, market cap, ATH, supply, and more for thousands of coins. No API key, no login.

- **URL**: https://apify.com/logiover/coingecko-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## CoinGecko Scraper — Markets, Trending & Exchanges

Extract live cryptocurrency market data from CoinGecko at scale — prices, volumes, market caps, ATH, supply, trending coins, exchanges, and categories — all without an API key.

---

### What does CoinGecko Scraper do?

CoinGecko Scraper queries the **official CoinGecko public API** (`api.coingecko.com/api/v3`) to pull structured crypto market data into Apify datasets. It operates in five modes: **markets** (paginated through the full coin list, up to 15,000+ coins), **coinDetail** (per-coin deep data including description, links, and historical highs/lows), **trending** (coins and NFTs currently trending on CoinGecko), **exchanges** (all tracked exchanges with trust scores and volume), and **categories** (all coin categories with aggregate market cap and volume). Pagination runs automatically — a single markets run can return 2,000–5,000+ coins sorted by market cap. No API key, no login, no browser automation; pure JSON API calls via got-scraping with built-in rate-limit handling (automatic 429 backoff) and proxy support for reliability.

---

### Who is it for?

- **Quantitative traders and analysts** building price dashboards or backtesting datasets.
- **DeFi and crypto researchers** who need structured metadata on thousands of coins.
- **Data engineers** feeding crypto market data into databases, warehouses, or ML pipelines.
- **Journalists and report writers** extracting snapshots of market cap rankings and volume leaders.
- **Portfolio tracker developers** who need fresh, bulk coin data without paying for premium APIs.

---

### Use cases

- Pull the top 1,000 coins by market cap nightly and load them into a PostgreSQL database for trend analysis.
- Monitor trending coins daily and trigger alerts when a new token enters the top 7 trending list.
- Build a DeFi dashboard that updates exchange trust scores and 24h volume weekly.
- Extract all CoinGecko categories with aggregate market cap to identify rotating sector momentum.
- Enrich a watchlist of custom coin IDs with full metadata — description, GitHub link, ATH, ATL.

---

### Why use CoinGecko Scraper?

- **Keyless and free**: uses CoinGecko's public API — no API key, no OAuth, no sign-up required.
- **15+ fields per coin**: price, market cap, volume, supply, ATH, ATL, price change, last updated, and more.
- **Bulk pagination**: markets and exchanges auto-paginate so one run yields thousands of rows.
- **Five modes in one actor**: markets, coinDetail, trending, exchanges, categories — no separate setup needed.
- **Smart rate-limit handling**: respects CoinGecko's free tier with automatic 429 backoff and retry.
- **Export to CSV, JSON, Excel**: all Apify dataset formats supported out of the box.

---

### What data can you extract?

#### Field table (markets mode — primary mode)

| Field | Type | Description |
|---|---|---|
| `id` | string | CoinGecko coin identifier (e.g. `bitcoin`) |
| `symbol` | string | Ticker symbol (e.g. `btc`) |
| `name` | string | Human-readable name (e.g. `Bitcoin`) |
| `current_price` | number | Current price in vs_currency |
| `market_cap` | number | Market capitalization |
| `market_cap_rank` | number | Global rank by market cap |
| `total_volume` | number | 24h trading volume |
| `high_24h` | number | 24h high price |
| `low_24h` | number | 24h low price |
| `price_change_percentage_24h` | number | % price change in last 24h |
| `circulating_supply` | number | Coins currently in circulation |
| `total_supply` | number | Total supply (may be null) |
| `max_supply` | number | Maximum possible supply (may be null) |
| `ath` | number | All-time high price |
| `ath_date` | string | Date of all-time high |
| `atl` | number | All-time low price |
| `atl_date` | string | Date of all-time low |
| `last_updated` | string | ISO timestamp of last data update |
| `vs_currency` | string | Quote currency used (e.g. `usd`) |
| `mode` | string | Scrape mode used |

#### Additional fields in coinDetail mode

| Field | Type | Description |
|---|---|---|
| `description` | string | Short plain-text description (first 500 chars) |
| `categories` | string | Comma-separated list of CoinGecko categories |
| `homepage` | string | Official project website URL |
| `twitter` | string | Official Twitter/X profile URL |
| `reddit` | string | Official subreddit URL |
| `github` | string | Primary GitHub repository URL |
| `coingecko_url` | string | CoinGecko coin page URL |

#### Sample output (markets mode)

```json
{
  "id": "bitcoin",
  "symbol": "btc",
  "name": "Bitcoin",
  "current_price": 67452.0,
  "market_cap": 1324567890123,
  "market_cap_rank": 1,
  "total_volume": 28450000000,
  "high_24h": 68100.0,
  "low_24h": 66800.0,
  "price_change_percentage_24h": 0.95,
  "circulating_supply": 19700000,
  "total_supply": 21000000,
  "max_supply": 21000000,
  "ath": 73738.0,
  "ath_date": "2024-03-14T07:10:36.635Z",
  "atl": 67.81,
  "atl_date": "2013-07-06T00:00:00.000Z",
  "last_updated": "2026-07-08T10:00:00.000Z",
  "vs_currency": "usd",
  "mode": "markets"
}
````

***

### How to use

#### Option A: Markets (paginated bulk pull)

Set `mode` to `markets`. The scraper paginates through all coins sorted by market cap. Control how many you want with `maxResults` (0 = unlimited). Filter by category to narrow results.

```json
{
  "mode": "markets",
  "vsCurrency": "usd",
  "maxResults": 1000,
  "category": "",
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Option B: Coin Detail (by ID list)

Set `mode` to `coinDetail` and provide `coinIds` — a list of CoinGecko coin identifiers. Find IDs from the markets run or the CoinGecko website URL slug.

```json
{
  "mode": "coinDetail",
  "coinIds": ["bitcoin", "ethereum", "solana", "cardano", "polkadot"],
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Option C: Trending

Set `mode` to `trending`. No other inputs required. Returns up to 7 trending coins + trending NFTs.

```json
{
  "mode": "trending",
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Option D: Exchanges

Set `mode` to `exchanges`. Paginates through all CoinGecko-tracked exchanges with trust scores and 24h volume in BTC.

```json
{
  "mode": "exchanges",
  "maxResults": 200,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Option E: Categories

Set `mode` to `categories`. Returns all CoinGecko coin categories with aggregate market cap and volume.

```json
{
  "mode": "categories",
  "proxyConfiguration": { "useApifyProxy": true }
}
```

***

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `markets` | Scrape mode: `markets`, `coinDetail`, `trending`, `exchanges`, `categories` |
| `vsCurrency` | string | `usd` | Quote currency for prices (markets mode). Options: `usd`, `eur`, `btc`, `eth`, `gbp`, etc. |
| `coinIds` | array | `[]` | Coin IDs for coinDetail mode (e.g. `["bitcoin","ethereum"]`) |
| `category` | string | `""` | CoinGecko category slug filter for markets (e.g. `decentralized-finance-defi`, `layer-1`, `meme-token`) |
| `maxResults` | integer | `500` | Max rows to return (markets/exchanges). `0` = unlimited |
| `proxyConfiguration` | object | `{useApifyProxy:true}` | Apify proxy config. Datacenter is sufficient. |

#### Full input JSON example

```json
{
  "mode": "markets",
  "vsCurrency": "usd",
  "category": "decentralized-finance-defi",
  "maxResults": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["DATACENTER"]
  }
}
```

***

### Output example

One fully-populated coinDetail record:

```json
{
  "id": "ethereum",
  "symbol": "eth",
  "name": "Ethereum",
  "current_price": 3520.5,
  "market_cap": 423000000000,
  "market_cap_rank": 2,
  "total_volume": 15800000000,
  "high_24h": 3590.0,
  "low_24h": 3480.0,
  "price_change_percentage_24h": 1.32,
  "circulating_supply": 120200000,
  "total_supply": 120200000,
  "max_supply": null,
  "ath": 4878.26,
  "ath_date": "2021-11-10T14:24:19.604Z",
  "atl": 0.432979,
  "atl_date": "2015-10-20T00:00:00.000Z",
  "last_updated": "2026-07-08T10:05:00.000Z",
  "description": "Ethereum is a decentralized platform that runs smart contracts...",
  "categories": "Smart Contract Platform, Ethereum Ecosystem",
  "homepage": "https://www.ethereum.org/",
  "twitter": "https://twitter.com/ethereum",
  "reddit": "https://www.reddit.com/r/ethereum/",
  "github": "https://github.com/ethereum/go-ethereum",
  "coingecko_url": "https://www.coingecko.com/en/coins/ethereum",
  "vs_currency": "usd",
  "mode": "coinDetail"
}
```

***

### Tips for best results

- **Start with markets mode** — it gives you coin IDs you can feed into coinDetail mode for enrichment.
- **Set maxResults=0** to get all available coins (~15,000+), but expect the run to take 10–20 minutes due to rate limiting.
- **Use category filter** to narrow market pulls: `layer-1`, `layer-2`, `meme-token`, `decentralized-finance-defi`, `stablecoins`, `gaming`, `metaverse`, `nft`.
- **CoinGecko free tier allows ~30 req/min**. The scraper defaults to ~40 calls/min with built-in backoff — you don't need to adjust anything.
- **For vsCurrency**, use `eur`, `gbp`, `jpy`, or any of the 70+ currencies CoinGecko supports. Prices will be converted automatically.
- **Trending data updates every 5–10 minutes** on CoinGecko — schedule the actor accordingly for real-time trend monitoring.
- **coinDetail mode is sequential** (1 ID/request) — for 100+ coins, expect ~5 minutes. Plan batch sizes of 50–200 IDs per run.
- **Exchanges mode** returns trust score and volume in BTC — convert to USD using the bitcoin price from a markets run.
- **Schedule daily runs** using Apify Scheduler to keep a fresh dataset in your storage without manual intervention.
- **Download as CSV** from the Apify dataset UI for direct import into Excel, Google Sheets, or BI tools.

***

### Integrations

| Integration | How |
|---|---|
| **Google Sheets** | Use Apify's native Google Sheets integration to push results automatically after each run. |
| **Slack** | Use Apify Webhooks to send a Slack notification with item count when the run completes. |
| **Zapier** | Connect the Apify Zapier app to trigger workflows when new data arrives in the dataset. |
| **Make (Integromat)** | Use the Apify Make module to fetch dataset items and pipe them into any downstream app. |
| **Webhooks** | Set a webhook on actor run completion to POST dataset stats to your own endpoint. |
| **Schedule** | Run nightly via Apify Scheduler — configure cron `0 2 * * *` for 2 AM UTC daily refresh. |

***

### API usage

#### cURL

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/logiover~coingecko-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode":"markets","vsCurrency":"usd","maxResults":500}'
```

#### Node.js (Apify client)

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('logiover/coingecko-scraper').call({
  mode: 'markets',
  vsCurrency: 'usd',
  maxResults: 1000,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]); // { id: 'bitcoin', current_price: 67000, ... }
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/coingecko-scraper").call(run_input={
    "mode": "markets",
    "vsCurrency": "usd",
    "maxResults": 1000,
})

items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[0])  # {'id': 'bitcoin', 'current_price': 67000, ...}
```

***

### Use with AI agents (MCP)

CoinGecko Scraper is available as an MCP (Model Context Protocol) tool via Apify's MCP server. Connect it to Claude, GPT-4, or any MCP-compatible AI agent to let the agent fetch live crypto market data on demand. Example agent prompt: *"Use the CoinGecko scraper to get the top 50 DeFi tokens by market cap and rank them by 24h price change."* The agent will trigger the actor, wait for results, and return structured data — no code required.

***

### FAQ

#### Does this require a CoinGecko API key?

No. The scraper uses CoinGecko's free public API (`api.coingecko.com/api/v3`), which requires no authentication. All endpoints used are publicly accessible.

#### How many coins can I get in one run?

CoinGecko lists approximately 12,000–16,000 coins total. Set `maxResults` to `0` for all of them. A full pull takes 10–20 minutes due to free-tier rate limits.

#### What currencies are supported for prices?

Over 70 currencies are supported via the `vsCurrency` parameter: `usd`, `eur`, `gbp`, `jpy`, `btc`, `eth`, `bnb`, `aud`, `cad`, `chf`, and more. Check the CoinGecko supported currencies endpoint for the full list.

#### Why did I get zero results?

Common causes: (1) invalid `coinIds` in coinDetail mode (check the IDs exist on CoinGecko), (2) an unknown category slug in markets mode, (3) transient CoinGecko rate limit. Enable Apify proxy and retry.

#### Some price fields are null — why?

Newly listed coins or low-liquidity tokens may have null values for `ath`, `total_supply`, `max_supply`, or `high_24h` if CoinGecko hasn't tracked them long enough. This is expected and not a scraper bug.

#### Can I export the data to Excel?

Yes. Open the Apify dataset, click **Export** and choose **XLSX**. For large datasets, CSV or JSON Line is faster.

#### How fast is the scraper?

Markets mode runs at ~40 pages/min (250 coins/page). Expect 500 coins in ~30 seconds, 5,000 coins in ~3 minutes, full dataset in ~15 minutes. coinDetail mode is ~1 request/1.5s.

#### Is this scraper legal?

CoinGecko's public API is designed for programmatic access. The scraper follows CoinGecko's rate limits and terms of service. Data is used for informational purposes; do not republish as a competing data service.

#### How often does CoinGecko update its data?

Price and volume data updates every 1–2 minutes. Trending updates every 5–10 minutes. Categories update every few hours.

#### Are there related actors I can combine with this?

You can combine CoinGecko Scraper with other logiover actors for deeper crypto research — pair it with a news scraper for sentiment analysis, or a DeFi protocol tracker for on-chain vs market comparison.

#### Can I filter markets by category?

Yes. Use the `category` input field with a CoinGecko category slug. Examples: `decentralized-finance-defi`, `layer-1`, `layer-2`, `meme-token`, `stablecoins`, `gaming`, `artificial-intelligence`, `real-world-assets`.

#### Can I scrape prices in crypto-to-crypto pairs?

Yes. Set `vsCurrency` to `btc` or `eth` to get all prices denominated in Bitcoin or Ethereum respectively.

***

### Is it legal?

CoinGecko provides its public API for developer use and does not prohibit programmatic data access within its rate limits. This actor operates fully within those limits and accesses only publicly available market data. No personal data is collected. Use of extracted data should comply with CoinGecko's Terms of Service and applicable financial data regulations in your jurisdiction. This actor is not affiliated with CoinGecko.

***

### Related scrapers

- **[logiover/crypto-news-scraper](https://apify.com/logiover)** — Extract crypto news headlines and sentiment from major outlets.
- **[logiover/b2b-lead-scraper](https://apify.com/logiover/b2b-lead-scraper)** — Generate B2B leads by industry and country for crypto companies.
- **[logiover/github-activity-monitor](https://apify.com/logiover)** — Track GitHub commit activity on crypto/DeFi repositories.

# Actor input Schema

## `mode` (type: `string`):

What to scrape. Leave as default (Markets) to instantly get the top coins by market cap — no other input needed. coinDetail = full info for specific coin IDs; trending = trending coins & NFTs; exchanges = all exchanges; categories = all coin categories.

## `vsCurrency` (type: `string`):

Quote currency for prices in Markets mode. Pick from the list of currencies CoinGecko supports.

## `coinIds` (type: `array`):

For Coin Detail mode only: list of CoinGecko coin IDs to fetch (e.g. bitcoin, ethereum, solana). Leave empty for every other mode — Coin Detail with no IDs falls back to the top coins by market cap.

## `category` (type: `string`):

Optionally narrow Markets mode to one CoinGecko category. Leave blank for all coins.

## `maxResults` (type: `integer`):

Maximum number of results to return (Markets / Exchanges / Coin Detail fallback). Use 0 for unlimited. Default is 500.

## `proxyConfiguration` (type: `object`):

Apify proxy settings. Defaults to automatic proxy selection. The CoinGecko public API also works without a proxy.

## Actor input object example

```json
{
  "mode": "markets",
  "vsCurrency": "usd",
  "coinIds": [],
  "category": "",
  "maxResults": 500,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/coingecko-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("logiover/coingecko-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call logiover/coingecko-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/coingecko-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CoinGecko Scraper — Markets, Trending & Exchanges",
        "description": "Scrape CoinGecko by market cap, coin ID, or category. Extract price, volume, market cap, ATH, supply, and more for thousands of coins. No API key, no login.",
        "version": "1.0",
        "x-build-id": "MGAoksJgK6IJTQkZR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~coingecko-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-coingecko-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/logiover~coingecko-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-coingecko-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/logiover~coingecko-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-coingecko-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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "markets",
                            "coinDetail",
                            "trending",
                            "exchanges",
                            "categories"
                        ],
                        "type": "string",
                        "description": "What to scrape. Leave as default (Markets) to instantly get the top coins by market cap — no other input needed. coinDetail = full info for specific coin IDs; trending = trending coins & NFTs; exchanges = all exchanges; categories = all coin categories.",
                        "default": "markets"
                    },
                    "vsCurrency": {
                        "title": "vs Currency",
                        "enum": [
                            "usd",
                            "eur",
                            "gbp",
                            "jpy",
                            "cny",
                            "krw",
                            "inr",
                            "rub",
                            "brl",
                            "cad",
                            "aud",
                            "chf",
                            "hkd",
                            "sgd",
                            "try",
                            "mxn",
                            "zar",
                            "sek",
                            "nok",
                            "dkk",
                            "pln",
                            "thb",
                            "idr",
                            "myr",
                            "php",
                            "vnd",
                            "twd",
                            "czk",
                            "huf",
                            "ils",
                            "aed",
                            "sar",
                            "ngn",
                            "uah",
                            "clp",
                            "nzd",
                            "pkr",
                            "bdt",
                            "bhd",
                            "kwd",
                            "lkr",
                            "mmk",
                            "gel",
                            "vef",
                            "xdr",
                            "btc",
                            "eth",
                            "bnb",
                            "sol",
                            "xrp",
                            "ltc",
                            "bch",
                            "dot",
                            "link",
                            "yfi",
                            "eos",
                            "xlm",
                            "sats",
                            "bits",
                            "xau",
                            "xag"
                        ],
                        "type": "string",
                        "description": "Quote currency for prices in Markets mode. Pick from the list of currencies CoinGecko supports.",
                        "default": "usd"
                    },
                    "coinIds": {
                        "title": "Coin IDs",
                        "type": "array",
                        "description": "For Coin Detail mode only: list of CoinGecko coin IDs to fetch (e.g. bitcoin, ethereum, solana). Leave empty for every other mode — Coin Detail with no IDs falls back to the top coins by market cap.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "category": {
                        "title": "Category Filter",
                        "enum": [
                            "",
                            "smart-contract-platform",
                            "layer-1",
                            "layer-2",
                            "proof-of-work-pow",
                            "proof-of-stake-pos",
                            "stablecoins",
                            "usd-stablecoin",
                            "fiat-backed-stablecoin",
                            "crypto-backed-stablecoin",
                            "decentralized-finance-defi",
                            "decentralized-exchange",
                            "decentralized-derivatives",
                            "decentralized-perpetuals",
                            "decentralized-options",
                            "real-world-assets-rwa",
                            "tokenized-treasuries",
                            "tokenized-products",
                            "governance",
                            "privacy",
                            "privacy-coins",
                            "meme-token",
                            "dog-themed-coins",
                            "artificial-intelligence",
                            "infrastructure",
                            "zero-knowledge-zk",
                            "gaming",
                            "metaverse",
                            "non-fungible-tokens-nft",
                            "gambling",
                            "exchange-based-tokens",
                            "centralized-exchange-token-cex",
                            "oracle",
                            "wrapped-tokens",
                            "liquid-staking-tokens",
                            "yield-farming",
                            "lending-borrowing",
                            "prediction-markets",
                            "storage",
                            "bridge-governance-tokens",
                            "depin",
                            "eth-2-0-staking",
                            "bitcoin-ecosystem",
                            "solana-ecosystem",
                            "base-native"
                        ],
                        "type": "string",
                        "description": "Optionally narrow Markets mode to one CoinGecko category. Leave blank for all coins.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "type": "integer",
                        "description": "Maximum number of results to return (Markets / Exchanges / Coin Detail fallback). Use 0 for unlimited. Default is 500.",
                        "default": 500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy settings. Defaults to automatic proxy selection. The CoinGecko public API also works without a proxy.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
