Discover/Prop Firm Match API
live

Prop Firm Match APIpropfirmmatch.com

Access prop trading firm challenge data from Prop Firm Match via 3 endpoints. Filter futures and forex challenges by account size, steps, billing type, and more.

This API takes change requests — .
Endpoint health
verified 2d ago
get_filtering_options
list_firms
list_challenges
3/3 passing latest checkself-healing
Endpoints
3
Updated
14d ago

What is the Prop Firm Match API?

The Prop Firm Match API exposes 3 endpoints covering prop trading firm challenges and firm listings sourced from propfirmmatch.com. The list_challenges endpoint returns detailed challenge objects including pricing, profit targets, drawdown limits, payout structures, and active promotions, with support for filtering by asset class, account size, step count, and billing type. Together, the endpoints let developers build comparison tools, aggregators, or alert systems against the full prop firm challenge landscape.

This call costs1 credit / call— charged only on success
Try it
Number of results to skip for pagination.
Maximum number of distinct challenge programs to return (1-50).
Comma-separated challenge step programs to filter by (e.g. '1 Step', '2 Step', '3 Step', 'Instant'). Omitting returns all step types.
Comma-separated asset classes to filter by (e.g. futures, forex, crypto, stocks).
Text search query to filter challenges by name or firm name. Omitted returns all.
Field to order results by.
Comma-separated account sizes in USD to filter by (e.g. 50000,100000,150000). Omitted returns challenges at all account sizes.
Comma-separated billing types to filter by: monthly, one_time. The default 'monthly,one_time' returns all challenges including those with no billing type set.
Filter challenges by economic news trading policy. 'allowed' returns challenges where news trading is fully allowed, 'not_allowed' returns challenges where news trading is prohibited, 'restricted' returns challenges where news trading is allowed but with restrictions (e.g. no trading around Tier 1 events).
Whether to apply available discounts to prices.
Sort direction for results.
api.parse.bot/scraper/b5c524ed-5dfc-40f6-8174-998da8752b14/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b5c524ed-5dfc-40f6-8174-998da8752b14/list_challenges?skip=0&limit=10&steps=1+Step&assets=futures&search=lucid&order_by=popularityRank&account_size=50000&billing_type=monthly%2Cone_time&economic_news=allowed&apply_discount=true&order_direction=desc' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 propfirmmatch-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: PropFirmMatch SDK — compare futures prop firm challenges."""
from parse_apis.propfirmmatch_com_api import (
    PropFirmMatch, OrderBy, OrderDirection, Category, InputFormatInvalid
)

client = PropFirmMatch()

# List all futures prop firms and their ratings.
for firm in client.firms.list(category=Category.FUTURES, limit=5):
    print(f"{firm.name} — score: {firm.review_score}, reviews: {firm.reviews_count}")

# Search challenges filtered by asset, account size, and step count.
challenge = client.challenges.search(
    assets=Category.FUTURES,
    account_size="50000",
    steps="1 Step",
    order_by=OrderBy.PRICE,
    order_direction=OrderDirection.ASC,
    limit=1,
).first()
if challenge:
    print(f"\nCheapest 50K 1-Step: {challenge.name}")
    print(f"  Price: ${challenge.discounted_price} (was ${challenge.price})")
    print(f"  Profit split: {challenge.profit_split}%, Max drawdown: {challenge.max_drawdown}%")
    print(f"  Platforms: {', '.join(challenge.platforms)}")
    if challenge.promos:
        promo = challenge.promos[0]
        print(f"  Promo: {promo.code} — {promo.description}")

# Get available filtering options to discover valid account sizes and limits.
options = client.filtering_optionses.get()
print(f"\nFilter limits: account size ${options.limits['accountSizeMin']}–${options.limits['accountSizeMax']}")
print(f"Platforms available: {len(options.platforms)}")
print(f"Countries supported: {len(options.countries)}")

# Demonstrate typed error handling.
try:
    client.challenges.search(limit=1, skip=-1).first()
except InputFormatInvalid as exc:
    print(f"\nValidation error: {exc}")

print("\nexercised: firms.list / challenges.search / filtering_optionses.get / InputFormatInvalid")
All endpoints · 3 totalmissing one? ·

Search and filter prop firm challenges (evaluation programs). Results are deduplicated by program — each distinct challenge program appears once with a pricing_by_size array showing all available account sizes and their prices. Returns pricing, profit targets, drawdown limits, payout info, active promos, and optionally news_trading_status. Supports filtering by asset class, account size, number of steps, billing type, text search, and economic news trading policy. Manual offset pagination via skip/limit.

Input
ParamTypeDescription
skipintegerNumber of results to skip for pagination.
limitintegerMaximum number of distinct challenge programs to return (1-50).
stepsstringComma-separated challenge step programs to filter by (e.g. '1 Step', '2 Step', '3 Step', 'Instant'). Omitting returns all step types.
assetsstringComma-separated asset classes to filter by (e.g. futures, forex, crypto, stocks).
searchstringText search query to filter challenges by name or firm name. Omitted returns all.
order_bystringField to order results by.
account_sizestringComma-separated account sizes in USD to filter by (e.g. 50000,100000,150000). Omitted returns challenges at all account sizes.
billing_typestringComma-separated billing types to filter by: monthly, one_time. The default 'monthly,one_time' returns all challenges including those with no billing type set.
economic_newsstringFilter challenges by economic news trading policy. 'allowed' returns challenges where news trading is fully allowed, 'not_allowed' returns challenges where news trading is prohibited, 'restricted' returns challenges where news trading is allowed but with restrictions (e.g. no trading around Tier 1 events).
apply_discountbooleanWhether to apply available discounts to prices.
order_directionstringSort direction for results.
Response
{
  "type": "object",
  "fields": {
    "count": "integer total matching challenges",
    "has_more": "boolean indicating more pages available",
    "next_skip": "integer skip value for next page",
    "challenges": "array of challenge objects with pricing, targets, drawdown, firm info, platforms, promos, pricing_by_size (all available account sizes with prices), and optionally news_trading_status when economic_news filter is active"
  },
  "sample": {
    "data": {
      "count": 56,
      "has_more": true,
      "next_skip": 3,
      "challenges": [
        {
          "id": "yuhuqizaqg0v0tp7bu03mlg4",
          "name": "Lucid Trading - LucidPro 1-Step - 50K",
          "slug": "lucid-trading-lucidpro-1-step-50k",
          "price": 185,
          "steps": "1 Step",
          "promos": [
            {
              "code": "MATCH",
              "description": "40% off + No DLL on Pro accounts",
              "discount_amount": 40,
              "discount_strategy": "percentage"
            }
          ],
          "firm_name": "Lucid Trading",
          "firm_rank": 5,
          "firm_slug": "lucid-trading",
          "platforms": [
            "Tradovate",
            "Sierra Chart",
            "Bookmap"
          ],
          "pt_dd_ratio": 0.67,
          "account_size": 50000,
          "billing_type": "one_time",
          "max_drawdown": 4,
          "profit_split": 90,
          "max_loss_type": "EODTrailing",
          "max_daily_loss": null,
          "max_micros_size": "40",
          "consistency_rule": "- Evaluation stage: None\n- Funded stage: 40%",
          "discounted_price": 111,
          "payout_frequency": 3,
          "firm_review_score": 4.6,
          "max_contract_size": "4",
          "profit_target_sum": 6,
          "firm_reviews_count": 87,
          "minimum_trading_days": null,
          "activation_fee_amount": 0,
          "maximum_payout_amount": "$2,000",
          "minimum_payout_threshold": "$500",
          "payout_frequency_description": "Every 3 Days"
        }
      ]
    },
    "status": "success"
  }
}

About the Prop Firm Match API

Challenge Data

The list_challenges endpoint is the core of this API. Each challenge object in the response carries pricing details, profit targets, drawdown limits, payout information, supported trading platforms, and active promotional codes. You can narrow results using the assets parameter (e.g. futures, forex, crypto), steps (e.g. 1 Step, 2 Step), account_size (comma-separated USD values like 50000,100000), and billing_type (monthly or one_time). A search parameter filters by firm or challenge name. Pagination is handled manually via skip and limit; the response returns count, has_more, and next_skip to walk through pages.

Firm Listings

The list_firms endpoint returns all firms in a given category in a single call — no pagination needed. Each firm object includes the firm's id, name, slug, review_score, reviews_count, and likes (popularity count). This is useful for building firm directories or populating dropdown filters in a challenge comparison UI.

Filter Options

The get_filtering_options endpoint returns metadata that supports building dynamic filter interfaces. It provides arrays of firms with their challenge counts, trading platforms with occurrence counts, supported countries, and tradable instruments. It also returns a limits object containing min/max bounds for numeric fields like account size, drawdown percentages, and profit split ranges — useful for rendering range sliders or validating filter inputs before querying list_challenges.

Reliability & maintenanceVerified

The Prop Firm Match API is a managed, monitored endpoint for propfirmmatch.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when propfirmmatch.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 propfirmmatch.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.

Last verified
2d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a side-by-side challenge comparison table filtered by account size and drawdown limits
  • Track active promotional codes across prop firm challenges for a coupon or deal aggregator
  • Populate a firm directory with review scores and popularity data from list_firms
  • Send alerts when new futures or forex challenges appear matching a user's step and billing preferences
  • Render dynamic filter UIs using min/max bounds and platform occurrence counts from get_filtering_options
  • Aggregate profit target and payout data across all 1-Step challenges for a research dataset
  • Match traders to eligible challenges by filtering on supported countries returned in filter options
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Prop Firm Match have an official developer API?+
Prop Firm Match does not publish a documented public developer API. This API provides structured access to the challenge and firm data available on propfirmmatch.com.
What fields does list_challenges return for each challenge?+
Each challenge object includes pricing, profit targets, drawdown limits, payout structure, firm details, supported trading platforms, and any active promotional offers. You can filter the result set by asset class, account size, number of evaluation steps, and billing type (monthly or one-time).
How does pagination work in list_challenges?+
Pagination is offset-based and manual. You pass a skip integer to move through result pages and a limit between 1 and 100 to control page size. The response returns has_more (boolean) and next_skip (integer) so you can determine whether to fetch another page and what offset to use.
Does the API return individual challenge reviews or trader comments?+
Not currently. The API covers aggregate review scores and review counts at the firm level via list_firms, but individual user reviews or written comments are not exposed. You can fork the API on Parse and revise it to add an endpoint targeting per-challenge or per-firm review detail.
Can I retrieve historical pricing changes or track how challenge fees change over time?+
Not currently. The API returns current challenge pricing and active promos as point-in-time data. Historical price tracking is not covered by any of the three endpoints. You can fork the API on Parse and revise it to add a historical snapshot endpoint if time-series tracking is needed.
Page content last updated . Spec covers 3 endpoints from propfirmmatch.com.
Related APIs in FinanceSee all →
propfirmstats.com API
Explore and compare prop trading firm challenges across futures and forex markets, reviewing payout policies and trading rules to find the best opportunity for your trading goals. Get detailed challenge specifications from PropFirmStats to make informed decisions about which firms align with your trading strategy.
lucidtrading.com API
Access real-time information about Lucid Trading's futures prop firm challenge plans, pricing structures, funded account rules, and scaling plan details to compare trading opportunities and understand account requirements. Get comprehensive data on plan features, trading rules, and progression options to find the right funded account tier for your trading style.
payoff.ch API
Search through 177,000+ structured financial products with advanced filtering to find Capital Protection, Yield Enhancement, Participation, Credit Risk, and Leverage instruments that match your criteria. Get comprehensive product details including terms, market data, key figures, and underlying instrument information for informed investment decisions.
brokerchooser.com API
Find and compare investment brokers with detailed ratings, reviews, and fee information across multiple categories, or search for the best brokers that match your specific needs. Get comprehensive broker profiles and side-by-side comparisons to make informed trading decisions.
hackerrank.com API
Retrieve challenge scores, difficulty ratings, success ratios, and track-level ranking data from HackerRank's public practice platform. Browse challenges by track, view submission statistics, and access ranking metrics across all available tracks.
signalfire.com API
Access detailed information about SignalFire's venture capital operations, including their investment team members, portfolio companies, and industry sectors they focus on. Use this data to research their investment strategy, identify key decision-makers, and understand their portfolio composition.
forex.com API
Access real-time forex prices and currency exchange rates, track client sentiment and pivot points, and browse economic calendar events. Search across multiple currency instruments and retrieve rollover rates.
lawyers.com API
Search and discover lawyers and law firms with detailed profiles, client reviews, and practice area information. Find legal articles and featured firms by specialty to help you locate the right legal representation for your needs.