ParseForge Scrapers

Jupiter Perps Stats Scraper

parseforge/jupiter-perps-stats-scraper

AutomationIntegrationsDeveloper tools

Scrapes Jupiter Perpetuals position stats by market and side. Returns each position as a flat row with trader, size, collateral, and PnL.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
87
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Jupiter Perps Stats Scraper

Scrape Jupiter Perpetuals position stats by market and side, up to a million records per run. Every record returns the trader, size, collateral, and PnL. No RPC endpoint or API key required. Export to CSV, JSON, Excel, or XML.

Jupiter's on-chain perpetuals data is scattered across Solana blocks and RPC providers, making bulk analysis slow and expensive. This actor reads the public Jupiter Perps stats feed directly, filtered by market and long or short side, and returns each position in one fixed schema. It is built for traders and researchers who need clean, flat datasets without writing Rust or running archive nodes.

Who uses it What they scrape Jupiter Perps for
Crypto traders Monitor aggregate long and short positioning on SOL-PERP before a volatility event.
Quantitative researchers Build a historical dataset of perp trader PnL and collateral for strategy backtesting.
Risk analysts Track large position sizes and liquidation levels across Jupiter markets.
DeFi content creators Pull the latest perp stats for market commentary and dashboards.

What it does

This Actor collects Jupiter Perpetuals position stats by market and side, and returns each one as a flat row.

  • ๐Ÿ“ˆ Side filter: collect only long positions, only short positions, or both.
  • ๐Ÿท๏ธ Market filter: narrow results to a specific market like SOL-PERP or BTC-PERP.
  • ๐Ÿ“Š Volume control: set a hard cap from 1 to 1,000,000 records per run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Jupiter Perps data

๐Ÿ“ˆ Monitor positioning before news.

A trader runs the scraper for SOL-PERP long positions five minutes before a Fed announcement to gauge crowd bias.

๐Ÿงช Backtest perp strategies.

A quant collects a million historical position records, filters by side and market, and feeds the PnL data into a Python backtester.

โš ๏ธ Track liquidation risk.

A risk analyst pulls all large short positions on BTC-PERP and cross-references collateral ratios to flag accounts near liquidation.

๐Ÿ“Š Build a perp dashboard.

A DeFi content creator schedules daily runs for several markets and pipes the flat CSV into a Google Sheets dashboard.

Why choose this scraper

What you get
No RPC or API key Reads the public stats feed so you skip Solana RPC costs and rate limits.
Flat, clean schema Every position arrives as one row with trader, size, collateral, and PnL.
Side and market filters Collect only the longs, only the shorts, or a single market in one run.
Runs at scale Pull up to a million records per run for backtesting or market snapshots.

How it compares

No other Store actor targets Jupiter Perps the same way, so the honest comparison is with the alternatives teams actually weigh.

Jupiter Perps Stats Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Jupiter Perps changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with an optional market filter and a side selector, and the cap limits how many records reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10
}

A larger pull:

{
  "maxItems": 200
}

Pricing

Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Jupiter Perps Stats Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Jupiter Perps through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/jupiter-perps-stats-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your market filter. If you typed a market that does not exist or has no open positions, the dataset will be empty. Try leaving the market field blank to see all available markets.

The run stopped before reaching my maxItems.

The actor collects only the positions that exist at that moment. If the feed has fewer open positions than your maxItems value, the run finishes early with whatever was available.

I see a timeout error.

The Jupiter stats feed can slow down during network congestion. Increase the actor's timeout in the run settings, or reduce maxItems and run more frequent, smaller pulls.

The side filter is not working.

Make sure you selected Long or Short from the dropdown, not Both. The filter is case-sensitive and must match the enum values exactly.

My export has duplicate rows.

If you run the actor multiple times and append to the same dataset, the same position may appear in more than one run. Deduplicate on the trader address and market in your post-processing step.

FAQ

Question Answer
Do I need a Solana RPC endpoint or API key? No. The actor reads the public Jupiter Perps stats feed, so you do not need an RPC provider, Helius key, or any other API key.
What markets can I scrape? You can leave the market filter empty to get all markets, or enter a specific one like SOL-PERP, BTC-PERP, or ETH-PERP.
How many records can I collect in one run? You set the maximum with the maxItems field, from 1 up to 1,000,000 records per run.
Can I get only long or only short positions? Yes. Use the side selector to choose Long, Short, or Both before you start the run.
What does one row of output look like? Each row is a flat object with fields for the trader address, position size, collateral, PnL, market, and side. The exact field list is shown in the sample output on the actor's page.
Is this the same as scraping Solana blocks? No. This reads Jupiter's own perp stats endpoint, so it is faster and lighter than walking Solana blocks or running a Geyser plugin.
Can I schedule this to run every hour? Yes. You can set an Apify schedule to run the actor at any interval and append new records to a named dataset.
What export formats are supported? You can export your dataset to CSV, JSON, Excel, or XML from the Apify run console.
Does this actor use the Jupiter API? It reads the same public feed that the Jupiter UI uses, so no separate API registration is needed.
Can I filter by trader address? The actor does not have a trader-address input filter, but you can filter the exported CSV or JSON by any field after the run completes.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Jupiter. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
side string (3 options) Filter by long or short positions only. both
market string Optional market filter such as SOL-PERP. not set
maxItems integer How many records to collect per run. 10

Pricing

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~jupiter-perps-stats-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Jupiter Perps Stats Scraper on Apify All scrapers