Skip to content

GET /apiv2/screening/providers

Providers available to your account, with prices, the networks each one covers and the scale its score is measured on.

This is the version 2 contract. It replaces GET /apiv2/aml/providers, which keeps working.

Endpoint URL

GET https://netts.io/apiv2/screening/providers

Request Headers

HeaderRequiredDescription
X-API-KEYYesYour API key from the Netts dashboard

Example Request

bash
curl https://netts.io/apiv2/screening/providers \
  -H "X-API-KEY: your_api_key"

Response

json
{
  "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"]
}
FieldTypeDescription
providers[].providerstringProvider name, as sent in the body of a check
providers[].price_usdtstringList price of one check, in USDT
providers[].price_trxstring | nullThe same price converted at the current rate. null when the rate is unavailable
providers[].availablebooleanWhether checks can be ordered right now
providers[].reasonstringPresent only when available is false. Currently quota_exhausted
providers[].networksarrayNetwork tickers this provider covers
providers[].score_scaleobjectmin and max of the provider's own score scale
trx_rate_usdstring | nullRate used for the conversion
supported_languagesarrayReport 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.

A provider your account cannot use is not listed. BitOK is restricted: it is granted per account rather than to everyone. An account without access does not see it here, does not see it in GET /apiv2/pricing, is refused at GET /apiv2/screening/price and at POST /apiv2/screening, both with 4002.

All four answers agree on purpose: what the list shows is what you can order. To ask for BitOK access, contact support. Elliptic is available to every account and is never affected by this.

What changed from version 1

Version 1 also returns supported_formats. That field belongs to the version 1 request model, where the format was fixed when the order was created; in version 2 there is no such field in the request, because the representation is chosen when reading the result, so the list is gone.

Until 13 September 2026 that list named four formats — rate, full, md and pdf — of which two were ever produced. Asking for pdf returned ordinary full, silently. Both endpoints now name only what they actually return, and version 1 refuses md and pdf in a request instead of quietly substituting something else.

Sub-user markup is included in price_trx, exactly as it is included in the amount charged.

Errors

RFC 9457, application/problem+json.

CodeHTTPWhen
4010 / 4011401No 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.