# CoinMarketCap Full Market Coin Export (`jpmarketdata/coinmarketcap-full-market-coin-export`) Actor

Export the full current CoinMarketCap listing universe with USD/BTC/ETH quotes, supplies, volume/change metrics and published audit/platform metadata. Whole-market pagination, source times and honest coverage; no API key or historical backfill.

- **URL**: https://apify.com/jpmarketdata/coinmarketcap-full-market-coin-export.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** Developer tools, Automation, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.04 / 1,000 coin exporteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## CoinMarketCap Full Market Coin Export

Export the complete currently published CoinMarketCap listing universe with source prices in USD, BTC and ETH, supplies, rankings, volume/change metrics, tags, platform metadata and audit claims. The default is a whole-market current observation, not a top 100 sample or historical candle service.

### Input and coverage

Default: quoteCurrencies=\[USD, BTC,ETH], maxCoins=10000, pageSize="10000", maxPages=20 and maxRequests=30. The source observation on 2026-10-09 exposes 8,136 coins in one supported native 10000-row response; that count changes. The full-response default avoids inter-page rank movement. Select 100 or 500 rows for smaller windows; moving page totals, duplicates or gaps fail explicitly. Choose one to three USD/BTC/ETH/EUR quotes. All requested quotes are included in the coin fee. The native source is ordered by market_cap descending; this is source ordering, not an investment recommendation. Explicit coin/page/request caps can return a clearly marked partial prefix. Unexplained missing/repeated pages, changing totals/cardinality and source failures fail before output. A full result is the observed native current listing universe, not every inactive/archived token ever recorded or an atomic market snapshot.

### Output

One coin_market row identifies the source coin ID, name, symbol, slug and public URL, source timestamps, all requested quote objects and published optional business metrics. Original source names and numerical values are retained, including fullyDilluttedMarketCap. That derived field appears identical across different quotes in the observed source; its units and any published tvl units are unconfirmed. Do not assume or recalculate units. Missing/null optional facts, including unavailable ATH/ATL and 7d/30d volume fields, are omitted and listed in availability. Actual published zero remains zero. Supply, audit flags and reports are source claims, not independently verified facts or safety scores. No returns, forecast, financial advice, exchange order books, wallet holders or historical-price backfill is promised.

### Pricing and paid validity

**Price:** $0.00004 per unique delivered coin, including all selected quotes. No start, page or quote add-on. No valid coin rows = no coin charge. The observed 8,136-coin market is $0.32544 in Actor fees; default cap $0.40 and absolute 20,000-coin cap $0.80. A paid row requires exact nonempty identity/public URL, source update timestamp and actual numeric price+timestamp for every requested quote. Metadata-only, duplicate, malformed, excluded and failed-source records are not paid.

All source acquisition and row validation finish before paid delivery. The bounded response is parsed with ijson: validate its entire envelope and item count, then project one coin at a time without a full raw JSON tree. Stage at most 24 MiB, preflight the entire event allowance, then use SDK charged push_data in batches of at most 50 rows. The SDK charges coin-exported once for each item in each batch, not once per batch; verify returned charged_count and actual dataset/event parity. Insufficient allowance fails before any output/fees. Delivery errors propagate and cannot be reported as success.

### Limits

Only HTTPS api.coinmarketcap.com/data-api/v3/cryptocurrency/listing and its robots.txt are acquired, with the matching jpmarketdata User-Agent, source robots rules, manual exact-host redirects and no login/key/cookie/proxy input. Forbidden/v1,/v2,account/community/private paths are unsupported. No website/third-party report/token-profile links are followed. Commercial extraction restrictions were actually read and recorded in the scout under DR-0007; public API availability is not a resale licence or endorsement.

256MB/300s Actor target. Serial requests have at least 1s between starts and 30s HTTP timeout; acquisition 180s and paid delivery 90s are bounded. Streaming limits: 4 MiB wire and 24 MiB decoded per listing response, 256 KiB robots, 64 MiB cumulative wire and decoded, 24 MiB staged output, 50 source attempts/40 pages/20,000 coins. No automatic retries. Body/transfer/output/deadline breaches fail explicitly; source 429/auth/timeout/parser errors fail before paid output. Cloud measured memory/cost and full-market billing parity are release gates, not proven by local prototypes.

### Privacy

Only public project/business metadata is extracted. Coin names and text fields redact incidental email/phone strings; report URLs reject credentials/contacts. No personal profiles, account data, contacts, user wallets/holdings or cookies are extracted. Platform token contract identifiers are published project metadata. Raw source/tracking payload is not logged or persisted in fixtures.

### Agent use

“Export the full current crypto market with USD, BTC andETH quotes so my research pipeline can compare liquidity and supply.” Empty input completes the currently observed listing universe. Use coverage, availability and source timestamps to assess the observations. The Actor is independent of CoinMarketCap.

# Actor input Schema

## `quoteCurrencies` (type: `array`):

One to three source quotes included in the same coin fee. Default USD,BTC,ETH preserves the whole-market peer job; EUR is also supported. Numeric fields stay source-reported; some derived source fields have unconfirmed units. Price: $0.00004 per delivered coin, including all selected quotes; no page or request fee.

## `maxCoins` (type: `integer`):

Global unique coin cap. Default 10000 completes the currently observed full listing universe. One delivered coin costs $0.00004 including all selected quotes; duplicates, invalid and failed-source records have no charge.

## `pageSize` (type: `string`):

Native rows per request: 100, 500 or 10000. Default 10000 acquires the current market in one complete response, avoiding inter-page rank movement. Smaller pages can fail if the market changes during traversal. Price: $0.00004 per delivered coin; no page fee.

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

Listing-page cap. The default 10000-row source window completes the current market in one page. Smaller page sizes can need more pages. Deliberate caps return explicit partial coverage; source gaps or duplicates fail. Price: $0.00004 per delivered coin; no page fee.

## `maxRequests` (type: `integer`):

Counted source attempts include robots, pages and redirects; no automatic retries. Default30 covers the whole observed market. A deliberate request cap is explicit incomplete coverage, while429/403/timeouts/parser errors fail before billing. Price: $0.00004 per delivered coin, including all selected quotes; no page or request fee.

## Actor input object example

```json
{
  "quoteCurrencies": [
    "USD",
    "BTC",
    "ETH"
  ],
  "maxCoins": 10000,
  "pageSize": "10000",
  "maxPages": 20,
  "maxRequests": 30
}
```

# Actor output Schema

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

Unique published coins including price facts in all requested currencies.

# 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("jpmarketdata/coinmarketcap-full-market-coin-export").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("jpmarketdata/coinmarketcap-full-market-coin-export").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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 jpmarketdata/coinmarketcap-full-market-coin-export --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jpmarketdata/coinmarketcap-full-market-coin-export"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/FEYUcS7BdwckczYd3/builds/ssL3qfa4giWpcN2VH/openapi.json
