GET /apiv2/screening/providers
Providers available to your account, with prices, the networks each one covers and the scale its score is measured on.
Endpoint URL
GET https://netts.io/apiv2/screening/providersRequest Headers
| Header | Required | Description |
|---|---|---|
| X-API-KEY | Yes | Your API key from the Netts dashboard |
Example Request
curl https://netts.io/apiv2/screening/providers \
-H "X-API-KEY: your_api_key"Response
{
"schema_version": 2,
"providers": [
{
"provider": "elliptic",
"price_usdt": "0.98",
"price_trx": "2.884881",
"available": true,
"networks": ["ada", "algo", "apt", "arb", "atom", "avax", "base", "bch",
"bnb", "bsc", "btc", "celo", "cro", "doge", "dot", "dydx",
"etc", "eth", "fil", "flr", "ftm", "gnosis", "hbar", "hype",
"icp", "inj", "linea", "ltc", "matic", "mob", "near", "okb",
"op", "sei", "sol", "strk", "sui", "tao", "ton", "trx",
"xdc", "xlm", "xrp", "xtz", "zec", "zen", "zil", "zksync"],
"score_scale": { "min": 0, "max": 10 }
}
],
"trx_rate_usd": "0.339702",
"supported_languages": ["en"]
}| Field | Type | Description |
|---|---|---|
| providers[].provider | string | Provider name, as sent in the body of a check |
| providers[].price_usdt | string | List price of one check, in USDT |
| providers[].price_trx | string | null | The same price converted at the current rate. null when the rate is unavailable |
| providers[].available | boolean | Whether checks can be ordered right now |
| providers[].reason | string | Present only when available is false. Currently quota_exhausted |
| providers[].networks | array | Network tickers this provider covers |
| providers[].score_scale | object | min and max of the provider's own score scale |
| trx_rate_usd | string | null | Rate used for the conversion |
| supported_languages | array | Report languages. Currently en only |
Prices are decimal strings for the same reason the numbers in a screening result are — see Numbers are strings. score_scale is ours rather than a provider's figure, so it stays a JSON number.
What this endpoint is for
It is the list of providers. The provider field of a check is a free-form string in the schema rather than an enumeration, precisely so that a new provider does not break anyone validating responses. The consequence is that the current list lives in data, not in the schema: read it here.
It is also the list of networks. The pairing matters — a provider does not necessarily cover every network. Ordering a check for a pair that is not covered returns 4004 before anything is charged.
And it is where the scale comes from. A score of 7 from one provider and 0.7 from another are not the same reading, and nothing in the number itself says which scale it belongs to. The scale also arrives inside every screening result, in risk.scale, so an integration that only reads results does not need this endpoint at all.
Sub-user markup is included in price_trx, exactly as it is included in the amount charged.
Errors
RFC 9457, application/problem+json.
| Code | HTTP | When |
|---|---|---|
4010 / 4011 | 401 | No API key, or a key or IP that is not accepted |
Rate Limits
Shared with every other AML path: 5 requests per second, 150 per minute.