For businesses and developers
PAMM Iran Data API
The same data published on PAMM Iran’s public pages — trading accounts, performance metrics, smart baskets, audits, market partners and rates — as JSON, with a dedicated key.
Data principles
- Published data only: no personal data, drafts or rejected accounts are ever served.
- The account page’s display rule: a figure the page would not show has no value in the API either.
- Every figure with its state: “declared” data always carries that label and must not be shown as live data.
- Neutral order: lists are alphabetical and the API offers no ranking or advice; sponsorship is only disclosed.
- Every response carries its production time, source and licence link.
Getting started
- Sign in to PAMM Iran and request access under “Data API” with your business name and use case.
- Once approved, create a key and set its scopes, allowed IPs and expiry. The key is shown only once.
- Start on the free tier; for more quota and scopes, buy a suitable plan from the same page.
Authentication
Send the key in the Authorization header as a Bearer token (or in the X-Api-Key header). Never put the key in browser-side code or a public repository; call the API from your own server.
curl -H "Authorization: Bearer pamm_XXXXXXXXXXXX.YYYYYYYY…" \
"https://pamm.ir/api/v1/accounts?locale=en"
Endpoints
https://pamm.ir/api/v1
| Method | Path | Scopes | Description |
|---|---|---|---|
GET | /me | — | Key info, access tier, limits and this month’s usage (does not count against the quota). |
GET | /accounts?type= | Trading accounts and metrics | Published trading accounts; optional account-type filter. |
GET | /accounts/{id} | Trading accounts and metrics | One account’s profile with terms, disclosure and every performance metric with its state. |
GET | /baskets?risk= | Smart baskets | Published smart baskets with weighted mix and hypothetical performance summary; risk filter. |
GET | /baskets/{slug} | Smart baskets | One basket with its full mix and hypothetical monthly returns. |
GET | /audits?result= | Audits | Published and revoked audit results; result filter. |
GET | /audits/{reference} | Audits | One audit with its review period, summary and validity. |
GET | /partners?category= | Market partners | Published exchanges, brokers, prop firms and pools with their recorded specs and source; category filter. |
GET | /markets/tether | USDT and gold rates | USDT/IRR rate table from active sources, with each source’s freshness state. |
GET | /markets/gold | USDT and gold rates | Gold and coin table with intrinsic value and premium wherever the ounce and dollar are fresh. |
The locale parameter (fa or en) selects the language of text fields. Names and slugs in both languages are always included.
Response format
Every successful response has a data object and a meta object. Metrics carry their value, unit, state, label and computation time.
{
"data": {
"id": "…",
"name": "…",
"metrics": {
"cumulative-return": {
"value": "…", "unit": "…",
"state": "declared", "label": "Declared",
"computed_at": "…", "declared_at": "…"
},
"max-drawdown": { "value": null, "state": "unavailable", "label": null }
}
},
"meta": {
"source": "PAMM Iran — pamm.ir",
"as_of": "…",
"locale": "en",
"licence": "https://pamm.ir/legal/data_api_terms"
}
}
live— Live data from a connected, fresh source.declared— Declared data; its label must be shown next to the figure.unavailable— Not published, not fresh or not displayable; the value is empty and must not be filled with another number.stale— In rate tables: an automatic source has gone stale and no price is served from it.
Limits and headers
Each client has a per-minute limit and a monthly quota applied across all its keys. The limit status is returned in the headers of every response.
X-RateLimit-Limit— Requests allowed per minuteX-RateLimit-Remaining— Requests left in the current minuteX-Quota-Limit— Monthly quotaX-Quota-Remaining— Quota left this monthX-Quota-Reset— Start of the next period (UTC)Retry-After— Seconds until you may retry, on a 429 response
Errors
| HTTP | Code | Description |
|---|---|---|
| 401 | invalid_key | The key is missing, invalid, revoked or expired. |
| 403 | client_suspended | The client’s access is suspended. |
| 403 | ip_not_allowed | The request came from an IP outside the key’s allowlist. |
| 403 | scope_not_granted_to_key | This data is outside the key’s scopes. |
| 403 | scope_not_in_plan | This data is not open on your current tier or plan. |
| 404 | not_found | The requested item is not published or does not exist. |
| 429 | rate_limited | The per-minute limit is reached; retry after Retry-After. |
| 429 | monthly_quota_exhausted | The monthly quota is used up; upgrade your plan or wait for the next period. |
Tiers and plans
Free tier
- Requests per minute: 10
- Monthly quota (requests): 3,000
- Scopes: Audits, Market partners, USDT and gold rates
Prices are in Tether (USDT). Pay from your PAMM Iran wallet or a verified USDT wallet in your own name; clients inside Iran can also pay the rial equivalent from their own verified card or IBAN. Contact support for an enterprise agreement.
Data widgets
If you would rather not write code, widgets are the simplest way to show PAMM Iran data on your site: one line of code, no scripts, always up to date.
- The free version of every widget (accounts, baskets, audits, broker, exchange and prop firm comparisons, pools, USDT rates and gold prices) is open to everyone, with the “Powered by PAMM Iran” line.
- Plans that include widgets give you a dedicated key: the widget opens only on your domain and shows without the brand line while the plan is active.
- Account managers with official verification take their verified performance card from their own panel and put it on their site.
- Widgets follow the same rules as the public pages: each figure keeps its status label, and accounts are listed alphabetically, never as a ranking.
| Widget | Free code |
|---|---|
| Trading accounts |
|
| Smart baskets |
|
| Account audits |
|
| Broker comparison |
|
| Exchange comparison |
|
| Prop firm comparison |
|
| Futures pools |
|
| USDT rates |
|
| Gold and coin prices |
|
| Tether & gold rates |
|