# CoinGecko Crypto Scraper — Prices, Market Cap & Coin Data (`sian.agency/coingecko-crypto-scraper`) Actor

CoinGecko crypto scraper — pull live coin prices, market cap, rank, 24h volume, ATH/ATL, supply and full coin profiles into clean JSON/CSV. Two modes: bulk market overview or per-coin detail. No API key or account needed. Independent tool — not affiliated with CoinGecko.

- **URL**: https://apify.com/sian.agency/coingecko-crypto-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Developer tools, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 coin extracteds

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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 Crypto Scraper — Prices, Market Cap & Coin Data 🪙

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Zillow API + KPIs](https://img.shields.io/badge/Store-Zillow%20API%20%2B%20KPIs-1F4E79)](https://apify.com/sian.agency/zillow-property-scraper?fpr=sian) [![Idealista Scraper](https://img.shields.io/badge/Store-Idealista%20Scraper-E60023)](https://apify.com/sian.agency/smart-idealista-scraper?fpr=sian) [![Taobao & Tmall Scraper](https://img.shields.io/badge/Store-Taobao%20%26%20Tmall-FF4F00)](https://apify.com/sian.agency/taobao-tmall-product-scraper?fpr=sian)

#### 🎉 Live crypto market data in one run — hundreds of coins with price, market cap, rank, 24h volume, ATH/ATL and supply, plus full per-coin profiles.
##### Built for analysts, traders, builders and anyone who needs clean, structured cryptocurrency data without an API key.

---

### 📋 Overview

**Need crypto data you can actually use?** This scraper turns the live coin market into clean, structured datasets — ready for spreadsheets, dashboards, screeners and BI tools.

**Why thousands of professionals choose us:**
- ✅ **Whole-market in one run**: hundreds of coins per run, each with price, market cap, rank, 24h volume, 24h high/low, ATH/ATL and supply
- ⚡ **Fast & lightweight**: structured JSON/CSV out in seconds — no browser, no captcha, no setup
- 🎯 **35+ fields per coin**: from the ranked market list to full coin profiles (description, categories, homepage, genesis date, hashing algorithm, sentiment)
- 💰 **Best price on the market**: pay-per-result, only for the coins you keep — cheaper than the leading alternatives
- 💎 **No API key, no account**: paste your filters and go
- ✨ **NEW**: two purpose-built modes — bulk **Overview** for the whole market and rich **Profile** for specific coins

### ✨ Features

- 📊 **Bulk Market Overview**: the full ranked coin list — sort by market cap or volume, filter by category
- 🔎 **Full Coin Profiles**: per-coin detail with description, categories, homepage, sentiment and watchlist users
- 💵 **Multi-currency**: quote prices in USD, EUR, GBP, JPY, BTC and more
- 🏷️ **Category filters**: narrow to layer-1, DeFi, meme tokens, stablecoins and more
- 🚀 **ATH/ATL tracking**: all-time-high and all-time-low prices, dates and percentage gaps
- 🖼️ **Coin logos included**: ready-to-display image URLs for every coin
- 🧮 **Supply metrics**: circulating, total and max supply for tokenomics analysis
- 📈 **Field-coverage report**: an HTML run summary with quality metrics and any failures

### 🎬 Quick Start

Pick a mode, set your filters, and run. Overview returns the ranked market list; Profile returns full detail for the coins you name. Results land in a clean dataset you can export as JSON, CSV or Excel.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~coingecko-crypto-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"mode": "overview", "order": "market_cap_desc", "maxPages": 1}'
````

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Choose a mode

Pick **Overview** for the bulk market list or **Profile** for full per-coin detail.

#### Step 2: Set your filters

Choose a sort order, a category, a quote currency, or list specific coin IDs.

#### Step 3: Run and export

Start the actor and download your dataset as JSON, CSV or Excel.

**That's it! In under a minute, you'll have:**

- A structured table of live coin market data
- 35+ fields per coin, ready for analysis
- An HTML report summarizing the run

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| mode | string | No | `overview` (bulk market list) or `profile` (per-coin detail) |
| order | string | No | Sort order for overview (market cap / volume / id) |
| category | string | No | Restrict overview to a coin category (e.g. `layer-1`) |
| vsCurrency | string | No | Quote currency (e.g. `usd`, `eur`, `btc`) |
| perPage | integer | No | Coins per page for overview (1–250) |
| maxPages | integer | No | Overview pages to fetch |
| coinIds | array | No | Coin IDs or URLs (required for profile mode) |
| startUrl | string | No | A single CoinGecko coin URL |

**Example — bulk market overview:**

```json
{
  "mode": "overview",
  "order": "market_cap_desc",
  "category": "layer-1",
  "perPage": 100,
  "maxPages": 2
}
```

**Example — full coin profiles:**

```json
{
  "mode": "profile",
  "coinIds": ["bitcoin", "ethereum", "solana"]
}
```

### 📤 Output

Results are saved to the Apify dataset with **35+ fields** including:

| Field | Type | Description |
|-------|------|-------------|
| name / symbol | string | Coin name and ticker |
| market\_cap\_rank | number | Rank by market capitalization |
| current\_price | number | Latest price in the quote currency |
| market\_cap | number | Total market capitalization |
| total\_volume | number | 24h trading volume |
| price\_change\_percentage\_24h | number | 24h percent change |
| ath / atl | number | All-time high / low price |
| circulating\_supply / max\_supply | number | Supply metrics |
| categories | array | Coin category tags (profile mode) |
| homepage | string | Official project homepage (profile mode) |
| thumbnail | string | Coin logo image URL |
| url | string | Public CoinGecko page |

**Example:**

```json
{
  "id": "bitcoin",
  "symbol": "btc",
  "name": "Bitcoin",
  "market_cap_rank": 1,
  "current_price": 62913.0,
  "market_cap": 1261261023174,
  "total_volume": 30400765540,
  "price_change_percentage_24h": -1.90,
  "ath": 126080.0,
  "atl": 67.81,
  "circulating_supply": 20047125.0,
  "max_supply": 21000000.0,
  "thumbnail": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
  "url": "https://www.coingecko.com/en/coins/bitcoin"
}
```

### 💼 Use Cases & Examples

#### 1. Portfolio & Watchlist Dashboards

**For traders tracking a basket of coins.**
**Input:** A list of coin IDs in profile mode.
**Output:** Live prices, 24h change and supply per coin.
**Use:** Power a personal dashboard or Google Sheet that refreshes on a schedule.

#### 2. Market Research & Token Screening

**For analysts ranking the market.**
**Input:** Overview mode sorted by market cap or volume, optionally filtered by category.
**Output:** The full ranked coin list with prices and metrics.
**Use:** Screen for movers, compare categories, build market maps.

#### 3. Backtesting & Quant Feeds

**For quants building data pipelines.**
**Input:** Overview mode on a schedule.
**Output:** A consistent daily snapshot of the market.
**Use:** Feed a backtesting engine or a model training set.

#### 4. Crypto Content & Newsletters

**For writers and creators.**
**Input:** Trending categories or top coins in overview mode.
**Output:** Up-to-date numbers for articles and posts.
**Use:** Auto-populate market tables in a newsletter.

#### 5. Competitive & Tokenomics Analysis

**For founders and investors.**
**Input:** Profile mode for target coins.
**Output:** Supply, valuation, sentiment and category data.
**Use:** Compare tokenomics across competing projects.

#### 6. BI & Spreadsheet Exports

**For data teams.**
**Input:** Any mode, exported as CSV/Excel.
**Output:** A clean table that drops straight into BI tools.
**Use:** Join crypto data with internal metrics.

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/coingecko-crypto-scraper').call({
  mode: 'overview',
  order: 'market_cap_desc',
  maxPages: 1
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/coingecko-crypto-scraper').call(
    run_input={'mode': 'profile', 'coinIds': ['bitcoin', 'ethereum']}
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~coingecko-crypto-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"mode": "overview", "order": "volume_desc"}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: Schedule (e.g. hourly) or webhook
2. **HTTP Request**: Call the actor API
3. **Process**: Handle the JSON dataset
4. **Action**: Save to a sheet, database or send an alert

### 📊 Performance & Pricing

#### FREE Tier (Try It Now)

- **25 coins** per run — full feature access, same quality
- No credit card required
- Perfect for testing and small watchlists

#### PAID Tier (Production Ready)

- **Unlimited** coins and pages per run
- Faster throughput for whole-market snapshots
- Pay-per-result: only charged for coins you keep

💰 **Best price on the market** — cheaper per coin than the leading crypto data alternatives.

🔗 [View current pricing](https://apify.com/sian.agency/coingecko-crypto-scraper?fpr=sian)

### ❓ Frequently Asked Questions

**Q: How many coins can I scrape?**
A: FREE tier: 25 per run. PAID tier: unlimited across as many pages as you need.

**Q: Do I need an API key or account?**
A: No. Just set your filters and run.

**Q: Which currencies are supported?**
A: USD, EUR, GBP, JPY, BTC and the other quote currencies the market supports.

**Q: What output formats are available?**
A: JSON, CSV and Excel — export directly from the Apify dataset.

**Q: What's the difference between Overview and Profile?**
A: Overview returns the bulk market list (cheapest, best for screening). Profile returns full per-coin detail (description, categories, homepage, sentiment).

**Q: How fresh is the data?**
A: Each run fetches live market data at run time.

### 🐛 Troubleshooting

**No coins returned in profile mode**

- Make sure `coinIds` (or `startUrl`) is set — profile mode needs at least one coin ID or URL.
- Use the coin slug (e.g. `bitcoin`), not the ticker (`btc`).

**Fewer coins than expected**

- FREE tier is capped at 25 coins / 2 pages per run. Upgrade for the whole market.

**A coin failed to fetch**

- The data service occasionally rate-limits high-volume runs; the actor cools off and retries, and reports any failures in the HTML report.

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

> **Disclaimer:** This is an independent tool and is **not affiliated with, endorsed by, or sponsored by CoinGecko**. "CoinGecko" is a trademark of its respective owner. This actor extracts only publicly available market data.

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

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

🧭 **Choose what to extract:**

📊 **Overview (recommended, cheapest):** the full live market list — hundreds of coins per run, each already carrying price, market cap, rank, 24h volume, 24h high/low, ATH/ATL and supply. Best for bulk market data, screeners and dashboards.

🔎 **Profile (full detail):** one rich record per coin — adds description, categories, homepage, genesis date, hashing algorithm, sentiment, watchlist users and the hi-res logo. Best for enriching specific coins.

## `order` (type: `string`):

↕️ **OVERVIEW SORT:** the order coins are returned in — matches CoinGecko's own sort options.

- **Market cap (high → low)** is the default ranked list.
- **Volume** surfaces the most actively traded coins.
- **ID** sorts alphabetically by coin slug.

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

🏷️ **OPTIONAL:** restrict the overview list to a single coin category slug (e.g. `layer-1`, `meme-token`, `decentralized-finance-defi`, `stablecoins`). Leave empty for all coins.

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

💵 **Currency to quote prices in** (ISO code, e.g. `usd`, `eur`, `gbp`, `jpy`, `btc`). Default `usd`.

## `perPage` (type: `integer`):

🔢 **How many coins to fetch per page** (1–250). Default 100.

## `maxPages` (type: `integer`):

📄 **How many overview pages to fetch.**

🎁 **TIER-BASED LIMITS:**

- **FREE users:** up to 2 pages (capped at 25 coins per run)
- **PAID users:** unlimited pages

Each page ≈ `Coins Per Page` coins.

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

🪙 **Coin IDs or CoinGecko coin URLs** — one per line.

- In **Profile** mode these are the coins whose full detail is fetched (required).
- In **Overview** mode they optionally restrict the market list to just these coins.

🎁 **TIER-BASED LIMITS (Profile):**

- **FREE users:** up to 5 coin profiles per run
- **PAID users:** unlimited

💡 Use the coin slug (e.g. `bitcoin`, `ethereum`, `solana`) or paste `https://www.coingecko.com/en/coins/bitcoin`.

## `startUrl` (type: `string`):

🔗 **OPTIONAL:** paste a single `https://www.coingecko.com/en/coins/<id>` URL. In Profile mode it adds that coin; in Overview mode it restricts the list to that coin.

## Actor input object example

```json
{
  "mode": "overview",
  "order": "market_cap_desc",
  "category": "layer-1",
  "vsCurrency": "usd",
  "perPage": 100,
  "maxPages": 1,
  "coinIds": [
    "bitcoin",
    "ethereum",
    "solana"
  ],
  "startUrl": "https://www.coingecko.com/en/coins/bitcoin"
}
```

# Actor output Schema

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

All scraped coins with price, market cap, rank, volume, 24h range, ATH/ATL, supply and (in profile mode) full coin detail.

## `scrapingSummary` (type: `string`):

HTML summary showing coins pushed, field coverage, failures and run metrics.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/coingecko-crypto-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/coingecko-crypto-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 '{}' |
apify call sian.agency/coingecko-crypto-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CoinGecko Crypto Scraper — Prices, Market Cap & Coin Data",
        "description": "CoinGecko crypto scraper — pull live coin prices, market cap, rank, 24h volume, ATH/ATL, supply and full coin profiles into clean JSON/CSV. Two modes: bulk market overview or per-coin detail. No API key or account needed. Independent tool — not affiliated with CoinGecko.",
        "version": "1.0",
        "x-build-id": "muuNZlnvjUnMkOzcG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~coingecko-crypto-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-coingecko-crypto-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/sian.agency~coingecko-crypto-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-coingecko-crypto-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/sian.agency~coingecko-crypto-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-coingecko-crypto-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": [
                            "overview",
                            "profile"
                        ],
                        "type": "string",
                        "description": "🧭 **Choose what to extract:**\n\n📊 **Overview (recommended, cheapest):** the full live market list — hundreds of coins per run, each already carrying price, market cap, rank, 24h volume, 24h high/low, ATH/ATL and supply. Best for bulk market data, screeners and dashboards.\n\n🔎 **Profile (full detail):** one rich record per coin — adds description, categories, homepage, genesis date, hashing algorithm, sentiment, watchlist users and the hi-res logo. Best for enriching specific coins.",
                        "default": "overview"
                    },
                    "order": {
                        "title": "↕️ Sort Order (Overview)",
                        "enum": [
                            "market_cap_desc",
                            "market_cap_asc",
                            "volume_desc",
                            "volume_asc",
                            "id_asc",
                            "id_desc"
                        ],
                        "type": "string",
                        "description": "↕️ **OVERVIEW SORT:** the order coins are returned in — matches CoinGecko's own sort options.\n\n- **Market cap (high → low)** is the default ranked list.\n- **Volume** surfaces the most actively traded coins.\n- **ID** sorts alphabetically by coin slug.",
                        "default": "market_cap_desc"
                    },
                    "category": {
                        "title": "🏷️ Category Filter (Overview)",
                        "type": "string",
                        "description": "🏷️ **OPTIONAL:** restrict the overview list to a single coin category slug (e.g. `layer-1`, `meme-token`, `decentralized-finance-defi`, `stablecoins`). Leave empty for all coins."
                    },
                    "vsCurrency": {
                        "title": "💵 Quote Currency",
                        "type": "string",
                        "description": "💵 **Currency to quote prices in** (ISO code, e.g. `usd`, `eur`, `gbp`, `jpy`, `btc`). Default `usd`.",
                        "default": "usd"
                    },
                    "perPage": {
                        "title": "🔢 Coins Per Page (Overview)",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "🔢 **How many coins to fetch per page** (1–250). Default 100.",
                        "default": 100
                    },
                    "maxPages": {
                        "title": "📄 Max Pages (Overview)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "📄 **How many overview pages to fetch.**\n\n🎁 **TIER-BASED LIMITS:**\n- **FREE users:** up to 2 pages (capped at 25 coins per run)\n- **PAID users:** unlimited pages\n\nEach page ≈ `Coins Per Page` coins.",
                        "default": 1
                    },
                    "coinIds": {
                        "title": "🪙 Coin IDs (Profile / restrict Overview)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "🪙 **Coin IDs or CoinGecko coin URLs** — one per line.\n\n- In **Profile** mode these are the coins whose full detail is fetched (required).\n- In **Overview** mode they optionally restrict the market list to just these coins.\n\n🎁 **TIER-BASED LIMITS (Profile):**\n- **FREE users:** up to 5 coin profiles per run\n- **PAID users:** unlimited\n\n💡 Use the coin slug (e.g. `bitcoin`, `ethereum`, `solana`) or paste `https://www.coingecko.com/en/coins/bitcoin`.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrl": {
                        "title": "🔗 CoinGecko Coin URL",
                        "type": "string",
                        "description": "🔗 **OPTIONAL:** paste a single `https://www.coingecko.com/en/coins/<id>` URL. In Profile mode it adds that coin; in Overview mode it restricts the list to that coin."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
