PropFirmStats APIpropfirmstats.com ↗
Access prop trading firm challenge specs, payout policies, and trading rules for forex and futures categories via the PropFirmStats API.
What is the PropFirmStats API?
The PropFirmStats API exposes one endpoint — list_challenges — that returns structured data on prop trading firms across forex and futures categories, covering challenge specifications, payout policies, and trading rules. A single call returns an array of firm objects alongside a total count, giving developers direct access to profit targets, drawdown limits, account sizes, prices, payout frequency, profit split percentages, and accepted trading methods.
curl -X GET 'https://api.parse.bot/scraper/28c28c8a-6926-4578-90f8-214033666ed8/list_challenges?category=forex' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace propfirmstats-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: PropFirmStats SDK — bounded, re-runnable; every call capped."""
from parse_apis.propfirmstats_com_api import PropFirmStats, Category, InvalidCategory
client = PropFirmStats()
# List futures prop firms with their challenge details and payout policies.
for firm in client.firms.list(category=Category.FUTURES, limit=3):
print(firm.firm_name, firm.profit_split, firm.payout_frequency)
for ch in firm.challenges:
print(f" Challenge: {ch.name}, type={ch.challenge_type}, price={ch.price}")
# List forex firms.
forex_firm = client.firms.list(category=Category.FOREX, limit=1).first()
if forex_firm:
print(forex_firm.firm_name, forex_firm.rating, forex_firm.max_daily_loss)
# Typed error handling for invalid category input.
try:
client.firms.list(category="invalid_cat", limit=1).first()
except InvalidCategory as e:
print("invalid category:", e.message)
print("exercised: firms.list")
Returns all prop trading firms and their challenge offerings for a given asset category (forex or futures). Each firm includes challenge details (profit targets, drawdown limits, account sizes, prices), payout policy (frequency, speed, methods, profit split), and trading rules (news trading, EAs, scalping, hedging). Results are ordered by firm rating descending. Individual challenge variants (different account sizes or challenge types) are nested under each firm when available from the upstream source.
| Param | Type | Description |
|---|---|---|
| categoryrequired | string | Asset category to filter firms by. |
{
"type": "object",
"fields": {
"firms": "array of firm objects with challenge details, payout policy, and trading rules",
"total": "integer count of firms returned"
},
"sample": {
"firms": [
{
"slug": "fundednext-futures",
"assets": [
"Futures",
"Indices"
],
"rating": 9,
"country": "United Arab Emirates",
"category": "futures",
"leverage": "Futures margin",
"firm_name": "FundedNext Futures",
"platforms": [
"NinjaTrader",
"Tradovate"
],
"challenges": [],
"ea_allowed": true,
"min_payout": null,
"promo_code": "PROPFIRMSFN",
"founded_year": 2022,
"headquarters": "Dubai, UAE",
"payout_speed": "40 hours avg",
"profit_split": "Up to 95%",
"scaling_plan": null,
"total_payouts": "$319M+",
"total_traders": "200,000+",
"max_allocation": "$4M",
"max_daily_loss": "None (Flex/Legacy)",
"max_total_loss": "$4,000 EOD",
"payout_methods": [
"Crypto",
"Bank Transfer"
],
"promo_discount": 40,
"challenge_types": [
"Flex",
"Legacy",
"Rapid",
"Bolt"
],
"hedging_allowed": true,
"scale_up_target": "10%",
"consistency_rule": "40% (Flex challenge only)",
"min_trading_days": 5,
"payout_frequency": "From day 5",
"scalping_allowed": true,
"trustpilot_score": 4.5,
"copy_trading_allowed": true,
"news_trading_allowed": true,
"profit_target_phase1": "6%",
"profit_target_phase2": "4%",
"swing_trading_allowed": true,
"weekend_holding_allowed": true
}
],
"total": 5
}
}About the PropFirmStats API
What the API Returns
The list_challenges endpoint accepts a required category parameter — either forex or futures — and returns an array of firm objects plus an integer total count. Each firm object contains three main data groups: challenge details, payout policy, and trading rules. Challenge details include fields such as profit targets, drawdown limits, available account sizes, and prices. Payout policy fields cover payout frequency, processing speed, accepted payout methods, and profit split ratios. Trading rules capture the specific constraints a trader must follow during the challenge.
Filtering and Coverage
The category input is the only filter parameter. Pass forex to retrieve forex-category prop firms, or futures to retrieve futures-category firms. The total field in the response reflects the count of firms returned for the selected category. There is no additional filtering by account size, price range, or payout method within a single request — consuming applications are expected to filter the returned array client-side.
Data Shape and Use
The firms array is well-suited for building comparison tools, alerting systems that monitor challenge pricing changes, or dashboards that rank firms by profit split or drawdown tolerance. Each firm object is self-contained, meaning you get challenge, payout, and trading rule data in a single response without additional lookups. PropFirmStats aggregates this data from publicly listed prop firm offerings, so the response reflects the current state of each firm's published challenge catalog.
The PropFirmStats API is a managed, monitored endpoint for propfirmstats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when propfirmstats.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official propfirmstats.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a prop firm comparison table ranked by profit split percentage across forex or futures categories
- Monitor changes in challenge prices and drawdown limits to alert traders when conditions improve
- Filter firms by payout method (e.g., crypto vs. bank transfer) to match trader preferences
- Display account size options and associated profit targets side-by-side for new traders evaluating entry costs
- Aggregate payout frequency and speed data to identify firms with the fastest withdrawal processing
- Populate a trading education platform with up-to-date challenge rules from live prop firm offerings
- Compute aggregate statistics on industry-wide profit split distributions across forex and futures firms
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PropFirmStats have an official developer API?+
What does `list_challenges` return for each firm?+
firms array includes three data groups: challenge details (profit targets, drawdown limits, account sizes, prices), payout policy (frequency, processing speed, methods, profit split), and trading rules. The total field gives the integer count of firms returned for the selected category.Can I filter results by account size, price, or profit split within a single request?+
category is available. The endpoint returns all firms for the chosen category (forex or futures), and any narrowing by account size, price range, drawdown threshold, or profit split must be done client-side on the returned array.