Search prop firms
propfirms_searchSearch LuxAlgo's prop-firm catalog (proprietary trading firms offering funded accounts). Combine firm filters (platforms, markets, payment/payout methods, country availability, Trustpilot, year founded) with nested challenge filters (account size, price, steps, profit split, trading rules) and offer filters — a firm matches when at least one of its challenges/offers matches all of them. Omit every filter to list all firms. Use include to nest the matching challenges, live offers, and the written overview; for one firm's full dossier prefer propfirms_get. Uncaptured (null) fields are omitted from results; nested challenges reference offers via offerIds into the firm-level offers list. This tool returns directory data (what exists and on what terms), not outcomes: for simulated pass odds on a challenge found here, use propfirms_pass_rates or propfirms_simulate with its firm and challenge ids.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort key (default name) | |
| text | No | Case-insensitive search over firm name and slug, e.g. 'ftmo' | |
| steps | No | Exact evaluation step count (1 = instant/funded, 2 = two-step, …) | |
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| include | No | Extra payloads to nest on each firm (only children matching the filters are returned) | |
| offerId | No | Public offer ids | |
| currency | No | Account currencies, e.g. ['usd', 'eur'] | |
| interval | No | Challenge fee intervals, e.g. 'one-time', 'monthly' | |
| priceMax | No | Maximum challenge fee (inclusive) | |
| priceMin | No | Minimum challenge fee (inclusive) | |
| stepsMax | No | Maximum step count (ignored when steps is set) | |
| stepsMin | No | Minimum step count (ignored when steps is set) | |
| direction | No | Sort direction; each sort key has a sensible default | |
| offerText | No | Case-insensitive search over promo code and offer descriptions | |
| pageIndex | No | 0-based page index (default 0) | |
| promoCode | No | Case-insensitive substring of the promo code | |
| isFeatured | No | Only featured offers when true | |
| maxLossMax | No | Upper bound on the overall-loss limit magnitude | |
| propfirmId | No | Public firm slugs, e.g. ['ftmo'] | |
| autoTrading | No | Whether automated trading (EAs/bots) is allowed | |
| availableIn | No | Country names the firm must NOT restrict, e.g. ['United States'] | |
| challengeId | No | Public challenge ids | |
| copyTrading | No | Whether copy trading is allowed | |
| countryIso2 | No | ISO-2 headquarters countries, e.g. ['GB', 'US'] | |
| discountMax | No | Maximum discount value | |
| discountMin | No | Minimum discount value | |
| maxLossMode | No | Drawdown modes; challenges without a captured mode never match | |
| newsTrading | No | Whether news trading is allowed | |
| dailyLossMax | No | Upper bound on the daily-loss limit magnitude (smaller = stricter) | |
| pageQuantity | No | Page size (default 50, max 100) | |
| productTypes | No | Product types the firm must offer at least one of, e.g. 'CFD', 'Futures' | |
| challengeName | No | Case-insensitive substring of the challenge name | |
| payoutMethods | No | Payout methods the firm must offer at least one of, e.g. 'Bank Transfer', 'Crypto' | |
| accountSizeMax | No | Maximum account size (inclusive) | |
| accountSizeMin | No | Minimum account size (inclusive) | |
| hasActiveOffer | No | When true, the firm must currently have a live (active, unexpired) offer | |
| includeExpired | No | When true, ended offers are not hidden (default false) | |
| maxLeverageMin | No | Minimum max leverage | |
| maxYearFounded | No | Inclusive maximum year founded | |
| minYearFounded | No | Inclusive minimum year founded | |
| paymentMethods | No | Payment methods the firm must accept at least one of, e.g. 'Crypto', 'PayPal' | |
| profitSplitMin | No | Minimum trader profit-split percent | |
| weekendHolding | No | Whether holding over the weekend is allowed | |
| includeInactive | No | When true, inactive offers are not hidden (default false) | |
| isFeeRefundable | No | Whether the challenge fee is refundable | |
| overnightHolding | No | Whether holding overnight is allowed | |
| stoplossRequired | No | Whether a stop loss is required | |
| tradingPlatforms | No | Platforms the firm must offer at least one of, e.g. 'MT5', 'cTrader', 'TradingView' | |
| discountIsPercent | No | true for percent discounts, false for absolute amounts | |
| minTradingDaysMax | No | Maximum required minimum trading days (finds less-strict challenges) | |
| tradedMarketTypes | No | Markets the firm must offer at least one of, e.g. 'forex', 'indices', 'commodities' | |
| isPreferredPartner | No | Only LuxAlgo preferred-partner firms when true | |
| minTrustPilotCount | No | Minimum Trustpilot review count | |
| minTrustPilotScore | No | Minimum Trustpilot score |