# Bitstamp Crypto Tickers Scraper (`parseforge/bitstamp-tickers-scraper`) Actor

Scrape live spot tickers from Bitstamp public API. Returns last price, bid/ask, 24h open/high/low/volume, VWAP, side, trading status, and optional daily OHLC for every supported pair. No API key required.

- **URL**: https://apify.com/parseforge/bitstamp-tickers-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $24.38 / 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.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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/raw/main/banner.jpg)

## 💹 Bitstamp Crypto Tickers Scraper

> 🚀 **Export every Bitstamp spot ticker in seconds.** Pull **130+ USD, EUR, USDT, BTC, ETH, GBP, PAX, PYUSD, USDC pairs** with last price, bid/ask, 24h open/high/low, volume, VWAP, side, trading status, and optional daily OHLC. No API key, no signing, no manual joins.

> 🕒 **Last updated:** 2026-05-13 · **📊 25 base fields + 6 optional OHLC fields** · **💹 130+ trading pairs** · **🌍 USD, EUR, USDT, USDC, GBP, BTC, ETH, PAX, PYUSD**

The **Bitstamp Crypto Tickers Scraper** queries Bitstamp's public `trading-pairs-info` and `ticker` endpoints. Each record joins the catalog row with the live ticker for the pair and emits a clean object with pair name, URL symbol (e.g. `btcusd`), public market URL, base/quote symbols, description, trading status, instant/market-order availability, minimum order size, base/counter decimals, market type, last price, bid, ask, 24h high/low/open, today's open, VWAP, volume, side, percent change vs 24h, and the exchange timestamp.

Bitstamp is one of the oldest licensed European venues with deep USD and EUR liquidity plus a curated set of altcoin pairs. A `fetchOhlc` toggle adds the most recent daily OHLC candle per pair (open, high, low, close, volume). Filters cover quote currency (USD, EUR, GBP, USDT, USDC, BTC, ETH, PAX, PYUSD) and trading status (Enabled, Disabled). Sort by 24h volume (default), percent change, last price, or pair A to Z. Download CSV, Excel, JSON, or XML.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Crypto traders, EU fintech apps, treasury teams, market-data engineers, regulatory researchers, payments providers, quant analysts | Spot tickers, EUR/USD pair monitoring, daily OHLC snapshots, 24h leaderboards, multi-venue index baskets, treasury rebalance pricing |

---

### 📋 What the Bitstamp Crypto Tickers Scraper does

Five workflows in a single run:

- 💹 **Full ticker dump.** Every Bitstamp spot pair joined with its product info.
- 💵 **Quote-currency filter.** USD, EUR, GBP, USDT, USDC, BTC, ETH, PAX, PYUSD.
- 🚦 **Trading status filter.** Enabled, Disabled, or all.
- 📊 **Daily OHLC.** Optional toggle pulls the most recent daily candle (step=86400, limit=1) per pair.
- 🔽 **Sort.** 24h volume (default), percent change, last price, or pair A to Z. maxItems applied after sort.

Each ticker record carries the live last/bid/ask, today's high/low/open, the 24h open, VWAP, volume, the side flag, percent change vs the 24h-ago price, the exchange timestamp converted to ISO 8601, and (when enrichment is on) a clean daily candle.

> 💡 **Why it matters:** Bitstamp's API returns flat strings on multiple endpoints. Manually joining catalog and ticker data, parsing strings, and converting timestamps is fiddly. This Actor does the joins, normalizes types, and emits structured records ready for dashboards and pipelines.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to pull every EUR-quoted Bitstamp pair sorted by volume and drop results into Sheets._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>quoteCurrency</code></td><td>string (enum)</td><td><code>""</code></td><td>USD, EUR, GBP, USDT, USDC, BTC, ETH, PAX, PYUSD. Empty = all.</td></tr>
<tr><td><code>tradingFilter</code></td><td>string (enum)</td><td><code>"Enabled"</code></td><td>Enabled, Disabled, or all.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>fetchOhlc</code></td><td>boolean</td><td><code>false</code></td><td>If true, calls OHLC per pair (step=86400, limit=1). Adds 6 daily-candle fields.</td></tr>
<tr><td><code>sortBy</code></td><td>string (enum)</td><td><code>"volume"</code></td><td>volume (24h), percentChange24, last, pair. No-sort also available.</td></tr>
</tbody>
</table>

**Example: top 50 USD pairs by 24h volume.**

```json
{
    "quoteCurrency": "USD",
    "tradingFilter": "Enabled",
    "maxItems": 50,
    "sortBy": "volume"
}
````

**Example: every EUR pair with daily OHLC, sorted by 24h % change.**

```json
{
    "quoteCurrency": "EUR",
    "tradingFilter": "Enabled",
    "maxItems": 200,
    "fetchOhlc": true,
    "sortBy": "percentChange24"
}
```

> ⚠️ **Good to Know:** `fetchOhlc: true` adds one extra HTTP call per pair (concurrency 4). A 50-pair run with OHLC enrichment completes in about 15 seconds. Disable when you only need live tickers.

***

### 📊 Output

Each ticker record contains up to **25 base fields + 6 optional OHLC fields**. Download as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🏷️ `pair` | string | `"BTC/USD"` |
| 🆔 `urlSymbol` | string | null | `"btcusd"` |
| 🔗 `url` | string | null | `"https://www.bitstamp.net/markets/btcusd/"` |
| 🪙 `base` | string | null | `"BTC"` |
| 💵 `quote` | string | null | `"USD"` |
| 📝 `description` | string | null | `"Bitcoin / U.S. dollar"` |
| 🚦 `trading` | string | null | `"Enabled"` |
| 📌 `instantAndMarketOrders` | string | null | `"Enabled"` |
| 💸 `minimumOrder` | string | null | `"10.00000000 USD"` |
| 🔢 `baseDecimals` | number | null | `8` |
| 🔢 `counterDecimals` | number | null | `2` |
| 🪙 `marketType` | string | null | `"SPOT"` |
| 💲 `last` | number | null | `60000.00` |
| 📊 `bid` | number | null | `59999.00` |
| 📊 `ask` | number | null | `60001.00` |
| 🔺 `high` | number | null | `61000.00` |
| 🔻 `low` | number | null | `58500.00` |
| ⏰ `open` | number | null | `59500.00` |
| ⏰ `open24` | number | null | `59000.00` |
| 📐 `vwap` | number | null | `59800.00` |
| 📊 `volume` | number | null | `1582.68` |
| ↔️ `side` | string | null | `"0"` |
| 📈 `percentChange24` | number | null | `1.69` |
| 🪙 `indexPrice` | number (optional) | `60050.00` |
| 🕒 `timestamp` | ISO 8601 | null | `"2026-05-13T22:20:38.000Z"` |
| 🕒 `ohlcDailyTimestamp` | ISO 8601 (optional) | `"2026-05-13T00:00:00.000Z"` |
| 📈 `ohlcDailyOpen` | number (optional) | `59000.00` |
| 🔺 `ohlcDailyHigh` | number (optional) | `61000.00` |
| 🔻 `ohlcDailyLow` | number (optional) | `58500.00` |
| 💲 `ohlcDailyClose` | number (optional) | `60000.00` |
| 📊 `ohlcDailyVolume` | number (optional) | `1582.68` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-13T22:20:40.207Z"` |

#### 📦 Sample records

<details>
<summary><strong>🐸 Meme USD pair: PEPE/USD</strong></summary>

```json
{
    "pair": "PEPE/USD",
    "urlSymbol": "pepeusd",
    "url": "https://www.bitstamp.net/markets/pepeusd/",
    "base": "PEPE",
    "quote": "USD",
    "description": "Pepe / U.S. dollar",
    "trading": "Enabled",
    "instantAndMarketOrders": "Enabled",
    "minimumOrder": "10.00000000 USD",
    "baseDecimals": 1,
    "counterDecimals": 8,
    "marketType": "SPOT",
    "last": 4.04e-06,
    "bid": 4.03e-06,
    "ask": 4.04e-06,
    "high": 4.26e-06,
    "low": 3.98e-06,
    "open": 4.14e-06,
    "open24": 4.18e-06,
    "vwap": 4.11e-06,
    "volume": 334479387701.6,
    "side": "0",
    "percentChange24": -3.35,
    "timestamp": "2026-05-13T22:20:38.000Z",
    "scrapedAt": "2026-05-13T22:20:40.207Z"
}
```

</details>

<details>
<summary><strong>🐶 USD meme pair: SHIB/USD</strong></summary>

```json
{
    "pair": "SHIB/USD",
    "urlSymbol": "shibusd",
    "url": "https://www.bitstamp.net/markets/shibusd/",
    "base": "SHIB",
    "quote": "USD",
    "description": "Shiba Inu / U.S. dollar",
    "trading": "Enabled",
    "instantAndMarketOrders": "Enabled",
    "minimumOrder": "10.00000000 USD",
    "baseDecimals": 0,
    "counterDecimals": 8,
    "marketType": "SPOT",
    "last": 6.25e-06,
    "bid": 6.24e-06,
    "ask": 6.25e-06,
    "high": 6.56e-06,
    "low": 6.21e-06,
    "open": 6.42e-06,
    "open24": 6.45e-06,
    "vwap": 6.36e-06,
    "volume": 131951986906,
    "side": "0",
    "percentChange24": -3.1,
    "timestamp": "2026-05-13T22:20:39.000Z",
    "scrapedAt": "2026-05-13T22:20:40.207Z"
}
```

</details>

<details>
<summary><strong>🇪🇺 EUR-quoted DeFi pair: GRT/EUR</strong></summary>

```json
{
    "pair": "GRT/EUR",
    "urlSymbol": "grteur",
    "url": "https://www.bitstamp.net/markets/grteur/",
    "base": "GRT",
    "quote": "EUR",
    "description": "The Graph / Euro",
    "trading": "Enabled",
    "instantAndMarketOrders": "Enabled",
    "minimumOrder": "10.00000 EUR",
    "baseDecimals": 8,
    "counterDecimals": 5,
    "marketType": "SPOT",
    "last": 0.02334,
    "bid": 0.02331,
    "ask": 0.02511,
    "high": 0.02513,
    "low": 0.0227,
    "open": 0.0251,
    "open24": 0.025,
    "vwap": 0.02405,
    "volume": 327811.48387481,
    "side": "0",
    "percentChange24": -6.64,
    "timestamp": "2026-05-13T22:20:39.000Z",
    "scrapedAt": "2026-05-13T22:20:40.207Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 💹 | **130+ pairs.** Full Bitstamp spot universe joined with product info. |
| 🌍 | **EUR + USD depth.** One of the few licensed venues with deep EUR-quoted liquidity. |
| 📊 | **Live + 24h + OHLC.** Last/bid/ask plus 24h high/low/open, today's VWAP, and optional daily candle. |
| 🔽 | **Server-side sort.** Volume, percent change, last price, or pair before slicing. |
| 🚦 | **Status-aware.** Filter to Enabled or Disabled pairs. |
| ⚡ | **Fast.** A 100-pair run completes in under 5 seconds without OHLC. |
| 🚫 | **No API key.** Works against the public Bitstamp endpoints. |

> 📊 Bitstamp's EUR pairs are a benchmark for European crypto pricing. Clean, normalized ticker data is the foundation of every payments product, treasury system, and EU-focused dashboard.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Bitstamp Tickers Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **130+ pairs** | **Live per run** | quote, status, sort, OHLC | ⚡ 2 min |
| Bitstamp web app | Free | Same | Live | Manual click-through | 🐢 Browser only |
| Bitstamp public API direct | Free | Same | Live | None - you write code | 🛠️ Hours |
| Aggregator APIs | Free or paid | Cross-exchange | Often delayed | Varies | ⏳ Multi-step |

Pick this Actor when you want clean ticker + product-info joins with one click.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Bitstamp Crypto Tickers Scraper on the Apify Store.
3. 🎯 **Set input.** Pick a quote currency or status, set `maxItems`, choose a sort key, toggle OHLC.
4. 🚀 **Run it.** Click **Start**.
5. 📥 **Download.** Grab CSV, Excel, JSON, or XML from the **Dataset** tab.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 💼 Trading & Quant

- 24h volume leaderboards across USD and EUR pairs
- Bid/ask spread snapshots for execution cost models
- Bitstamp-vs-other-venue arbitrage scans
- Backtest universes from current pair lists

</td>
<td width="50%" valign="top">

#### 🏦 Treasury & Payments

- Pull live bid/ask for treasury swap pricing
- EUR/USD pair monitoring for FX workflows
- Daily OHLC snapshots for accounting close
- Verify pair status before placing orders

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 📊 Market Data & Aggregators

- Daily catalog snapshots for changelog
- Detect new pair listings or status changes
- Cross-exchange product mapping
- Feed downstream tickers into a multi-venue index

</td>
<td width="50%" valign="top">

#### 🚨 Apps, Alerts & Dashboards

- EU-region dashboards with EUR-quoted pairs
- Power autocomplete with the live pair list
- Slack/Discord bots on big % movers
- Onboarding flows that show real bid/ask quotes

</td>
</tr>
</table>

***

### 🔌 Automating Bitstamp Tickers Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Minute-level for trading dashboards, hourly for analytics, daily for OHLC snapshots.

***

### 🌟 Beyond business use cases

The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical studies on EUR vs USD pricing differentials
- Spread and depth analysis across quote currencies
- Reproducible event studies on Bitstamp listings
- Coursework on European crypto market microstructure

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, indie trading apps, dashboards
- "What's listed on Bitstamp right now?" Twitter bots
- Personal portfolio rebalancers
- Hobbyist research on EU crypto coverage

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency dashboards on regulated crypto venues
- Investigative journalism on EU listing patterns
- DAO treasury monitoring with clean public data
- Open data contributions on EU crypto markets

</td>
<td width="50%">

#### 🧪 Experimentation

- Train ML models on cross-exchange signals
- Prototype EUR-USD basis trades
- Test dashboard concepts with live ticker feeds
- Build personal "favorite pairs" widgets

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Bitstamp%20Crypto%20Tickers%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Bitstamp%20Crypto%20Tickers%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Bitstamp%20Crypto%20Tickers%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Bitstamp%20Crypto%20Tickers%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

The Actor calls `trading-pairs-info` to get the product catalog and `ticker` to get live tickers, joins by pair name, normalizes types, and (when `fetchOhlc` is on) calls the OHLC endpoint per pair with 4-way concurrency.

#### 💹 Which markets are covered?

Bitstamp spot pairs only. Quote currencies enumerated: USD, EUR, GBP, USDT, USDC, BTC, ETH, PAX, PYUSD.

#### 🇪🇺 Why EUR specifically?

Bitstamp is one of the longest-running licensed European crypto venues. EUR-quoted depth on Bitstamp is a benchmark for the EU crypto market.

#### 📊 What does `fetchOhlc` actually add?

6 fields per pair: `ohlcDailyTimestamp`, `ohlcDailyOpen`, `ohlcDailyHigh`, `ohlcDailyLow`, `ohlcDailyClose`, `ohlcDailyVolume`. Pulled from the OHLC endpoint with step=86400 (daily) and limit=1 (most recent candle).

#### 🚫 Do I need an API key?

No. The Actor uses Bitstamp's public market-data endpoints.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run the Actor on any cron interval. Minute-level for trading dashboards, hourly for analytics, daily for OHLC snapshots.

#### 🔁 How fresh is the data?

Every run hits live endpoints. There is no caching.

#### ↔️ What is the `side` field?

Bitstamp's last-trade side flag (`"0"` = buy, `"1"` = sell). Useful for short-term order-flow signals.

#### 🔁 What happens if a run fails?

Apify retries transient errors automatically. If a run still fails, inspect the log, adjust input, and re-run. Partial datasets are preserved.

#### 💳 Do I need a paid Apify plan?

No. Free plan covers testing (10 records per run). Paid plans unlock up to 1,000,000 items and scheduling.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

Bitstamp Tickers Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Pipe price alerts into channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Land ticker data in your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets to Sheets

You can also use webhooks to trigger downstream actions when a run finishes.

***

### 🔗 Recommended Actors

- [**🏦 Binance Crypto Prices Scraper**](https://apify.com/parseforge/binance-prices-scraper) - Spot tickers on the largest CEX
- [**🐙 Kraken Crypto Exchange Scraper**](https://apify.com/parseforge/kraken-exchange-scraper) - Kraken spot tickers with EUR and USD pairs
- [**💎 Gemini Crypto Exchange Scraper**](https://apify.com/parseforge/gemini-tickers-scraper) - Gemini USD-quoted spot tickers
- [**🦎 CoinGecko Cryptocurrency Scraper**](https://apify.com/parseforge/coingecko-scraper) - Cross-exchange aggregated coin data
- [**💱 Frankfurter FX Rates Scraper**](https://apify.com/parseforge/frankfurter-fx-rates-scraper) - EUR/USD/GBP FX reference rates

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more crypto exchange and FX scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Bitstamp Limited. All trademarks mentioned are the property of their respective owners. Only publicly available product, ticker, and OHLC data exposed by Bitstamp's public API is collected. This Actor is for informational use only and does not constitute financial advice.

# Actor input Schema

## `quoteCurrency` (type: `string`):

Filter pairs by quote currency. Leave empty for all pairs.

## `tradingFilter` (type: `string`):

Only include pairs whose trading is in this status.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `fetchOhlc` (type: `boolean`):

Calls the OHLC endpoint per pair for the most recent daily candle (step=86400, limit=1). Slower.

## `sortBy` (type: `string`):

Order results before applying maxItems.

## Actor input object example

```json
{
  "quoteCurrency": "",
  "tradingFilter": "Enabled",
  "maxItems": 10,
  "fetchOhlc": false,
  "sortBy": "volume"
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview of scraped data

## `fullData` (type: `string`):

Complete dataset

# 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 = {
    "quoteCurrency": "",
    "tradingFilter": "Enabled",
    "maxItems": 10,
    "fetchOhlc": false,
    "sortBy": "volume"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/bitstamp-tickers-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 = {
    "quoteCurrency": "",
    "tradingFilter": "Enabled",
    "maxItems": 10,
    "fetchOhlc": False,
    "sortBy": "volume",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/bitstamp-tickers-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 '{
  "quoteCurrency": "",
  "tradingFilter": "Enabled",
  "maxItems": 10,
  "fetchOhlc": false,
  "sortBy": "volume"
}' |
apify call parseforge/bitstamp-tickers-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bitstamp Crypto Tickers Scraper",
        "description": "Scrape live spot tickers from Bitstamp public API. Returns last price, bid/ask, 24h open/high/low/volume, VWAP, side, trading status, and optional daily OHLC for every supported pair. No API key required.",
        "version": "0.0",
        "x-build-id": "xdKdEKg5P0rXCtTnh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~bitstamp-tickers-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-bitstamp-tickers-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/parseforge~bitstamp-tickers-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-bitstamp-tickers-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/parseforge~bitstamp-tickers-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-bitstamp-tickers-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": {
                    "quoteCurrency": {
                        "title": "Quote Currency Filter",
                        "enum": [
                            "",
                            "USD",
                            "EUR",
                            "GBP",
                            "USDT",
                            "USDC",
                            "BTC",
                            "ETH",
                            "PAX",
                            "PYUSD"
                        ],
                        "type": "string",
                        "description": "Filter pairs by quote currency. Leave empty for all pairs.",
                        "default": ""
                    },
                    "tradingFilter": {
                        "title": "Trading Status Filter",
                        "enum": [
                            "",
                            "Enabled",
                            "Disabled"
                        ],
                        "type": "string",
                        "description": "Only include pairs whose trading is in this status.",
                        "default": "Enabled"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "fetchOhlc": {
                        "title": "Fetch Daily OHLC",
                        "type": "boolean",
                        "description": "Calls the OHLC endpoint per pair for the most recent daily candle (step=86400, limit=1). Slower.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "",
                            "volume",
                            "percentChange24",
                            "last",
                            "pair"
                        ],
                        "type": "string",
                        "description": "Order results before applying maxItems.",
                        "default": "volume"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
