Limitless Prediction Markets Scraper
Pricing
Pay per event
Limitless Prediction Markets Scraper
๐ Export public Limitless markets, probabilities, volume, liquidity, outcome tokens, orderbooks, and historical prices for monitoring and research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Export public Limitless prediction markets as clean, analysis-ready data. Collect current Yes/No probabilities, volume, liquidity, outcome tokens, resolution timing, categories, orderbooks, and historical prices without a login.
Use the Actor for scheduled odds snapshots, liquidity alerts, market discovery, quantitative research, news monitoring, or an AI agent that needs structured prediction-market context.
- ๐ Search active Limitless markets by keyword
- ๐ฏ Extract exact market URLs or slugs
- ๐ Add bids, asks, midpoint, spread, and last-trade data
- ๐ Add timestamped historical probability points
- โ๏ธ Filter by category, volume, date, trade type, or automation type
- ๐ฆ Export to JSON, CSV, Excel, XML, RSS, or any Apify integration
What does Limitless Prediction Markets Scraper do?
The Actor reads the public API at api.limitless.exchange and saves one normalized dataset row per market.
It supports three common workflows:
- Browse active markets.
- Search markets by a topic such as Bitcoin, politics, sports, or macroeconomics.
- Extract a known market from its Limitless URL or slug.
Core records include identity, title, description, market URL, status, categories, tags, dates, current prices, volume, creator, collateral, venue, and token IDs.
Optional enrichment adds the live orderbook and historical prices to each row.
Who is it for?
Prediction-market traders
Track probabilities, spreads, volume, and orderbook depth before making a trading decision.
Quantitative researchers
Build recurring snapshots for backtests, event studies, probability calibration, and cross-venue comparisons.
News and research teams
Discover markets around a developing story and use price movement as a structured signal.
AI agent builders
Give an agent current prediction-market context through Apify API or MCP instead of parsing a changing website.
Data engineers
Feed normalized Limitless data into warehouses, dashboards, webhooks, Sheets, or scheduled ETL jobs.
Why use this Actor?
- No login required: the supported endpoints are public.
- HTTP-first and efficient: no browser or proxy overhead.
- Normalized output: numeric prices and volumes are ready for analysis.
- Flexible targeting: browse, search, URL, or slug input.
- Optional depth: pay for enrichment requests only when your workflow needs them.
- Scheduled monitoring: run hourly or daily and compare datasets downstream.
- Forward-compatible: preserve the full source market object with
preserveRaw.
What Limitless data can you extract?
| Field | Meaning |
|---|---|
id, slug, stableSlug | Limitless market identifiers |
title, description, url | Human-readable market information |
status, expired, hidden | Current market state |
categories, tags | Limitless classification labels |
createdAt, startAt, expiresAt | Market timing in ISO format |
yesPrice, noPrice, prices | Current outcome probabilities/prices |
tradePrices | Reported buy and sell prices |
volume, openInterest, liquidity | Market activity metrics |
tokenIds | Yes and No outcome token IDs |
creator, venue, collateral | Market provenance and settlement metadata |
orderbook | Optional bids, asks, midpoint, spread, and last trade |
priceHistory | Optional timestamped probability points |
scrapedAt | UTC collection timestamp |
raw | Optional complete source payload |
How to scrape active Limitless markets
- Open the Actor input page.
- Leave market URLs and slugs empty.
- Enter an optional
searchQuery. - Add filters if needed.
- Set a low
maxItemsfor the first run. - Enable orderbook or history only when required.
- Click Start.
- Open the dataset to review or export records.
A simple discovery input:
{"searchQuery": "Bitcoin","sortBy": "high_value","maxItems": 25}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
marketUrls | string[] | [] | Exact Limitless market URLs |
slugs | string[] | [] | Exact market slugs |
searchQuery | string | empty | Keyword search; empty browses active markets |
categories | string[] | [] | Match at least one category or tag |
tradeType | string | empty | amm, clob, or group |
automationType | string | empty | manual, lumy, or sports |
sortBy | string | newest | newest, ending_soon, high_value, lp_rewards, or trending |
minVolume | number | 0 | Minimum reported volume in USDC |
startsAfter | string | empty | Earliest start time, ISO date/time |
expiresBefore | string | empty | Latest expiration, ISO date/time |
includeOrderbook | boolean | false | Add bids, asks, midpoint, and spread |
includePriceHistory | boolean | false | Add timestamped historical prices |
preserveRaw | boolean | false | Include complete source object |
maxItems | integer | 25 | Maximum saved markets |
maxConcurrency | integer | 4 | Parallel enrichment requests, up to 10 |
Exact URLs or slugs take precedence over discovery filters.
Search and filter examples
Find active crypto markets with meaningful volume:
{"categories": ["Crypto"],"minVolume": 100,"sortBy": "high_value","maxItems": 100}
Find sports markets and include orderbooks:
{"automationType": "sports","includeOrderbook": true,"maxItems": 50,"maxConcurrency": 4}
Extract a specific market:
{"marketUrls": ["https://limitless.exchange/markets/example-market-slug"],"includeOrderbook": true,"includePriceHistory": true}
Output example
{"id": 323056,"slug": "btc-up-or-down-5-min-1783994700","title": "BTC Up or Down - 5 Min","url": "https://limitless.exchange/markets/btc-up-or-down-5-min-1783994700","status": "FUNDED","categories": ["Minutely", "5 min"],"tags": ["Lumy", "Recurring", "Minutely", "Minutes 5"],"yesPrice": 0.545,"noPrice": 0.455,"volume": 0,"tradeType": "clob","collateral": {"symbol": "USDC","decimals": 6},"scrapedAt": "2026-07-14T02:10:00.000Z"}
Fields that the source does not provide are omitted rather than filled with invented values.
Orderbook enrichment
Set includeOrderbook to true to attach:
bidswith price, size, and sideaskswith price, size, and side- outcome
tokenId midpointadjustedMidpointlastTradePricemaxSpreadminSize
Orderbooks change quickly. For monitoring, schedule frequent small runs and store snapshots in your own database or named dataset.
Historical price enrichment
Set includePriceHistory to true to attach the source-provided timeline:
{"priceHistory": {"marketStatus": "FUNDED","prices": [{ "timestamp": "2026-07-14T02:05:00.000Z", "price": 0.725 }]}}
History coverage depends on the market and Limitless API. An empty history array can be valid for a new or inactive market.
How much does it cost to scrape Limitless markets?
This Actor uses pay-per-event pricing:
- Start: $0.005 per run
- Market record: tiered by your Apify plan
| Apify plan | Price per market |
|---|---|
| FREE | $0.000052223 |
| BRONZE | $0.000045411 |
| SILVER | $0.000035421 |
| GOLD | $0.000027247 |
| PLATINUM | $0.000018165 |
| DIAMOND | $0.000012715 |
Higher plans receive lower per-market rates. Optional enrichment does not add a separate event charge; it can increase run duration slightly because it makes extra public API requests.
Always test with a low maxItems before scheduling a large enriched run.
Tips for reliable monitoring
- Use exact slugs when watching a fixed watchlist.
- Keep
maxConcurrencybetween 2 and 5 for recurring enriched runs. - Sort by high volume when looking for liquid markets.
- Save
scrapedAtwith every snapshot. - Compare
yesPrice,noPrice,volume, and orderbook midpoint over time. - Enable
preserveRawonly if you need source-specific fields. - Treat probabilities as market prices, not guaranteed forecasts.
Scheduling and alerts
Apify schedules can run this Actor at a regular interval.
A typical alert workflow is:
- Run the Actor every 15 minutes.
- Send the dataset to a webhook or automation platform.
- Compare the newest price with the previous observation.
- Trigger an alert when probability, spread, or volume crosses your threshold.
For long-term history, write snapshots to a database rather than overwriting the default dataset.
Integrations
Send Limitless market data to:
- Google Sheets for a shared odds watchlist
- Slack or Discord for movement alerts
- Make or Zapier for no-code workflows
- BigQuery, Snowflake, or PostgreSQL for research
- Airbyte for scheduled data pipelines
- Webhooks for trading dashboards
- LangChain, LlamaIndex, or custom AI agents
Use Apify dataset exports when a destination expects CSV, JSON, Excel, XML, or RSS.
API usage
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/limitless-prediction-markets-scraper').call({searchQuery: 'Bitcoin',includeOrderbook: true,maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/limitless-prediction-markets-scraper").call(run_input={"searchQuery": "Bitcoin", "maxItems": 20})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl "https://api.apify.com/v2/acts/automation-lab~limitless-prediction-markets-scraper/runs?token=$APIFY_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"searchQuery":"Bitcoin","maxItems":20}'
Use with MCP and AI agents
Connect through Apify MCP at:
https://mcp.apify.com/?tools=automation-lab/limitless-prediction-markets-scraper
Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com/?tools=automation-lab/limitless-prediction-markets-scraper"
Claude Desktop
Add this to the Claude Desktop MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/limitless-prediction-markets-scraper"}}}
Cursor
Open Settings โ MCP, add a server named apify, and use the same mcpServers JSON and URL shown above.
VS Code
Open MCP: Add Server from the command palette, choose HTTP, and enter the Apify MCP URL shown above.
Specific example prompts:
- โRun the Limitless prediction markets scraper for Bitcoin and summarize the five highest-volume markets.โ
- โFetch the orderbooks for active crypto markets and flag wide bid-ask spreads.โ
- โCollect Limitless historical prices for my watchlist and identify the largest probability moves.โ
Data quality and source behavior
The Actor reports what the public Limitless API returns at run time.
Market state can change between discovery and enrichment. If one optional endpoint is temporarily unavailable, the Actor keeps the core market record and logs the missing enrichment.
Descriptions are converted from source HTML into readable plain text. Numeric strings are normalized to numbers where safe, while volumeRaw preserves the original volume value.
Errors and troubleshooting
Why did the run return no markets?
Your search or filters may be too narrow. Remove categories and date bounds, lower minVolume, or run with only searchQuery and maxItems.
Why is an orderbook empty?
A new, inactive, grouped, or non-CLOB market may have no visible levels. This does not mean the core record is invalid.
Why was a market URL skipped?
Check that the URL contains /markets/<slug> and that the public detail endpoint still exposes that slug. Removed or private markets cannot be extracted.
Why is price history short?
Limitless decides how much history the public endpoint exposes. Newly created short-duration markets naturally have few points.
Limits and responsible use
The Actor covers public market data only. It does not:
- place or cancel trades
- access user orders or positions
- manage wallets
- bypass authentication
- promise access to private or resolved-market endpoints
- provide financial advice
Use conservative concurrency and comply with Limitless and Apify terms.
Legality
The Actor accesses public, documented market-data endpoints without login. Laws and contractual obligations vary by location and use case. Do not use the data for unlawful activity, market manipulation, or to collect restricted personal information.
You are responsible for ensuring that your use complies with applicable law, Limitless terms, and Apify terms.
FAQ
Does it require a Limitless account?
No. Supported market listing, search, detail, orderbook, and historical-price endpoints are public.
Does it use a proxy or browser?
No. It uses direct HTTPS requests to the public API.
Can it scrape expired markets?
The discovery workflow covers active markets. An exact slug may work while its public detail endpoint remains available, but the Actor does not claim authenticated resolved-market coverage.
Can I monitor a watchlist?
Yes. Pass several exact slugs or URLs, enable the desired enrichments, and schedule the Actor.
Are prices percentages?
The normalized prices are decimal values such as 0.62, representing the source market price/probability convention. Multiply by 100 for percentage display.
Can I preserve every API field?
Yes. Set preserveRaw to true and inspect the nested raw object.
Related prediction-market workflows
Combine this Actor with your own Apify automations for:
- cross-exchange probability comparisons
- crypto news monitoring
- scheduled webhook alerts
- market-resolution research
- orderbook spread dashboards
- AI-assisted event summaries
Browse other actors from automation-lab for complementary news, finance, and monitoring data.
Support
If a public Limitless market does not appear or an output field looks wrong, open an issue from the Actor page.
Include:
- the run URL
- the exact input
- one expected market URL or slug
- the field or behavior you expected
That evidence makes source changes and edge cases much faster to diagnose.