Prop firm programme rules
Prop firm programme rules as structured numbers: phase targets and day limits, daily and maximum loss limits and how they are measured, consistency, news and weekend rules, and the date Decryptr checked each firm's own pages. Rules change: confirm with the firm.
Cost: 1 call per item returned, at least one item's worth. The request first reserves limit x 1 calls (and is refused with 429 if that many are not available), then pays only for what came back.
Needs scope prop:read and the developer plan or above.
AuthorizationBearer <dcr_live_<8 hex>_<43 base64url> or dcr_test_...>Your API key as a Bearer token: Authorization: Bearer dcr_live_....
firm?stringOnly this firm's programmes (firm id).
^[a-z0-9_]{2,48}$cursor?stringnext_cursor from the previous page, passed back as it is. Opaque: do not build or change it.
length <= 300limit?integerItems to return, 1 to 100. Your plan allows max_page calls per request (Developer 10, Starter 25, Pro 50, Business 100), so at most max_page divided by this endpoint's calls per item. Default 20, or that maximum if lower. The request reserves limit x calls per item before it runs: ask only for what you need.
1 <= value <= 100OK.
application/json- response
data*array<>as_of*stringWhen the response was made.
date-timenext_cursor*|Pass as cursor for the next page. null when this is the last page.
disclaimer*stringPlain-language notice. Information only, not financial advice.
curl -X GET 'https://data.decryptr.ai/v1/prop/programs?firm=sample_firm_a&cursor=eyJ0IjoiMjAyNi0xMC0yM1QxMDowMDowMC4wMDBaIn0&limit=10'{ "data": [ { "id": "sample_firm_a_program_1", "firm": "sample_firm_a", "firm_name": "Sample Firm A", "name": "1-Step Sample", "phases": [ { "profit_goal_pct": 10, "min_days": 3, "max_days": null }, { "profit_goal_pct": 5, "min_days": 3, "max_days": null } ], "daily_loss_pct": 5, "daily_loss_basis": "start_of_day_balance", "day_timezone": "UTC", "day_reset": "00:00", "max_loss_pct": 10, "max_loss_type": "static", "consistency_pct": null, "news_trading": "allowed", "weekend_holding": "allowed_with_conditions", "checked_on": "2026-10-14", "rules_version": "2026-10-14.1" }, { "id": "sample_firm_a_program_2", "firm": "sample_firm_a", "firm_name": "Sample Firm A", "name": "2-Step Sample", "phases": [ { "profit_goal_pct": 10, "min_days": 3, "max_days": null } ], "daily_loss_pct": 5, "daily_loss_basis": "start_of_day_balance", "day_timezone": "UTC", "day_reset": "00:00", "max_loss_pct": 10, "max_loss_type": "trailing_equity", "consistency_pct": null, "news_trading": "allowed", "weekend_holding": "allowed_with_conditions", "checked_on": "2026-10-14", "rules_version": "2026-10-14.1" }, { "id": "sample_firm_a_program_3", "firm": "sample_firm_a", "firm_name": "Sample Firm A", "name": "3-Step Sample", "phases": [], "daily_loss_pct": 5, "daily_loss_basis": "start_of_day_balance", "day_timezone": "UTC", "day_reset": "00:00", "max_loss_pct": 10, "max_loss_type": "static", "consistency_pct": 20, "news_trading": "allowed", "weekend_holding": "allowed_with_conditions", "checked_on": "2026-10-14", "rules_version": "2026-10-14.1" } ], "next_cursor": "eyJoIjoic2FtcGxlX2Zpcm1fYV9wcm9ncmFtXzMifQ", "as_of": "2026-10-23T12:20:30.000Z", "disclaimer": "Rules as Decryptr found them on the firm's own pages on checked_on. Firms change their rules: confirm with the firm before you trade."}News signals per day by sentiment GET
News signals about one asset per day, newest first, counted by Decryptr's sentiment tag, with the average impact score. Cost: 1 call per item returned, at least one item's worth. The request first reserves limit x 1 calls (and is refused with 429 if that many are not available), then pays only for what came back. Needs scope `signals:read` and the starter plan or above.
Decryptr users at a prop firm GET
How many Decryptr users hold accounts at a prop firm, how many accounts are funded and how many are verified. Null under 20 users. Cost: 1 call, also when not found. Needs scope `prop:read` and the pro plan or above.