# Crypto Volume Anomaly Scanner — Pump Detection, Top 50 Coins (`cryptosignals/crypto-signals`) Actor

Scans the top 50 coins by 24h volume and ranks them by volume-to-market-cap ratio — the classic pump fingerprint. Full market scan for $0.01, or deep-dive one token (BTC, ETH, SOL…) with an anomaly rating from LOW to CRITICAL. Clean JSON for trading bots, alerts, and dashboards.

- **URL**: https://apify.com/cryptosignals/crypto-signals.md
- **Developed by:** [Web Data Labs](https://apify.com/cryptosignals) (community)
- **Categories:** AI
- **Stats:** 93 total users, 10 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 full market scans

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Crypto Volume Anomaly Scanner — Pump Detection for the Top 50 Coins

Unusual volume is the earliest public footprint of a pump: trading activity spikes while price hasn't moved yet. This actor scans the **top 50 cryptocurrencies by 24h volume** and ranks them by **volume-to-market-cap ratio** — surfacing coins trading far more heavily than their size justifies. Live market data, structured JSON, ready for trading bots, alert pipelines, and dashboards.

### Two Modes

**Full market scan** (leave input empty) — returns all 50 coins, sorted by volume/market-cap ratio, most anomalous first. $0.01 per scan.

**Single-token analysis** (set `symbol`) — deep-dives one coin and adds an `anomaly_level` rating: `LOW` (ratio ≤ 2%), `MODERATE` (2–5%), `HIGH` (5–20%), `CRITICAL` (> 20%). $0.005 per analysis.

### Input

```json
{ "symbol": "BTC" }
```

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `symbol` | string | *(empty)* | Optional ticker (`BTC`, `ETH`, `SOL`…). Empty = full 50-coin scan. |

### Example Output — full scan (one item per coin, 50 items)

```json
{
  "symbol": "PEPE",
  "price": 0.0000121,
  "change_24h": 18.4,
  "volume": 2841000000,
  "market_cap": 5090000000,
  "vol_mcap_ratio": 55.81
}
```

### Example Output — single-token analysis

```json
{
  "found": true,
  "token": {
    "symbol": "BTC",
    "price": 67412.0,
    "change_24h": -1.2,
    "volume": 28400000000,
    "market_cap": 1330000000000,
    "vol_mcap_ratio": 2.14,
    "anomaly_level": "MODERATE"
  }
}
```

If the token isn't in the top 50 by volume, you get `{ "found": false, "symbol": "XYZ", "message": "Token not in top 50 by volume." }` — you're still only charged the $0.005 analysis event.

### How to Read the Ratio

`vol_mcap_ratio` = 24h volume ÷ market cap × 100. Large caps normally sit at 1–5%. A small cap at 30–60% means its entire market cap is churning every couple of days — the signature of coordinated buying, a listing event, or a pump. The scan doesn't tell you *which*; it tells you **where to look first**.

### Use Cases

- **Trading-bot input** — schedule a scan every 15 minutes via Apify Schedules, feed the top 5 ratios into your strategy, act on `CRITICAL` single-token confirmations.
- **Alerting** — wire the actor to Slack/Discord through Apify integrations; get pinged when any coin crosses your ratio threshold.
- **Screening & research** — a $0.01 scan replaces manually eyeballing 50 volume charts. Export to CSV and track ratio history over days to spot building momentum.

### Run It From Code

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

## Full market scan
run = client.actor("cryptosignals/crypto-signals").call(run_input={})
for coin in client.dataset(run["defaultDatasetId"]).iterate_items():
    if coin["vol_mcap_ratio"] > 20:
        print(f"{coin['symbol']}: ratio {coin['vol_mcap_ratio']}% — price {coin['price']}")
```

### Pricing

| Event | Price | When |
|-------|-------|------|
| Full market scan | $0.01 | Once per empty-input run (50 coins included) |
| Single-token analysis | $0.005 | Once per run with `symbol` set |

Plus standard Apify platform micro-fees (actor start $0.00005/GB, $0.00001/dataset item). A daily scan costs about **$0.31/month**.

### Data Source & Limits

Live market data covering the top 50 coins by 24h volume, refreshed on every run. Coins outside the top 50 return `found: false` in single-token mode. This is a market-activity scanner, not financial advice — anomalous volume is a starting point for research, not a buy signal.

### ⭐ Leave a Review

If this actor saved you time, **please take 30 seconds to leave a review**: 👉 https://apify.com/cryptosignals/crypto-signals/reviews

Reviews are the primary way this actor reaches new users and gets maintained and updated.

# Actor input Schema

## `symbol` (type: `string`):

Optional token ticker (e.g. BTC, ETH, SOL). Leave empty for a full scan of top 50 tokens.

## Actor input object example

```json
{}
```

# Actor output Schema

## `cryptoSignals` (type: `string`):

Dataset containing crypto token volume anomaly signals with fields: symbol, price, change\_24h, volume, market\_cap, vol\_mcap\_ratio, anomaly\_level, found.

# 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("cryptosignals/crypto-signals").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("cryptosignals/crypto-signals").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 cryptosignals/crypto-signals --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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