prometiam-risk-api (Python)
Official Python client for the Prometiam Risk Intelligence API: company registry data for Spain, France, the UK, Ireland, Poland, Norway, Finland, Sweden, Croatia, Belgium and Denmark, corporate insolvency notices across twelve markets, sanctions screening, VAT and LEI lookups.
pip install prometiam-risk-api
Quick start
import os
from prometiam_risk_api import Client
api = Client(api_key=os.environ["PROMETIAM_API_KEY"])
page = api.companies_search(name="Inditex", country="ES") # fuzzy, best match first (match_score 0-100)
first = page["data"][0]
print(first["company_name"], first["company_number"])
detail = api.company(first["id"], include="risk_flags,insolvency")
Every method returns the API envelope {"data": ..., "pagination": ..., "meta": ...} exactly as documented.
Batch calls
One HTTP call for a whole list. Every item counts as one request against your plan limits; a batch that does not fit raises RateLimitError whose max_items_now says how many items would fit.
lookup = api.companies_lookup([
{"country": "ES", "company_number": "A46103834"},
{"country": "FR", "siren": "552032534"},
{"country": "ES", "name": "Inditex"}, # best fuzzy match, with match_score
])
for r in lookup["data"]:
print(r["status"], (r["company"] or {}).get("company_name"))
screen = api.sanctions_screen_batch(["Vladimir Putin", "Acme Trading Ltd"], group="entity")
flagged = [r for r in screen["data"] if r["status"] == "match"]
distress = api.insolvency_check([
{"country": "FR", "company_number": "917499519"},
{"country": "DE", "name": "Wirecard"},
])
Pagination
for page in api.paginate("/people/search", {"name": "garcia", "country": "ES", "limit": 50}):
for person in page:
print(person["full_name"])
Errors
| Error | When |
|---|---|
AuthError |
401, or 403 for a country the key cannot access |
UpgradeRequiredError |
403 upgrade_required: scope not in your plan or the free trial allowance is used up. Carries included_in, price, upgrade_url, trial_allowance |
RateLimitError |
429, retried automatically up to max_retries (default 2) honouring Retry-After; carries retry_after and max_items_now |
ValidationError |
400 |
NotFoundError |
404 |
PrometiamError |
anything else; status, code, body on every error |
Options
Client(api_key, base_url="https://api.prometiam.com/functions/v1/risk-api", timeout=30.0, max_retries=2, transport=None)
Use with Client(...) as api: to close the connection pool, and api.request("GET", "/coverage") for anything not wrapped.
Rate limits
Per-key limits by plan (requests/minute, requests/day, requests/month):
| Plan | Price | RPM | Daily | Monthly |
|---|---|---|---|---|
| Free (14-day trial) | €0 | 10 | 200 | 1,000 |
| Starter | €9.99/mo | 60 | 2,000 | 10,000 |
| Professional | €29.99/mo | 300 | 20,000 | 100,000 |
| Scale | €99.99/mo | 600 | 200,000 | 1,000,000 |
| Enterprise | Custom | Custom | Custom | Custom |
api.account() returns your key's current limits and usage (rate_limit.rpm_remaining, daily_remaining, monthly_remaining). A 429 raises RateLimitError, retried automatically up to max_retries honouring Retry-After. Batch calls (companies_lookup, sanctions_screen_batch, insolvency_check) count every item in the list as one request against these limits; a batch that would not fit in the remaining quota raises RateLimitError up front (code == "batch_exceeds_quota", max_items_now set).
Scope limits
The API's coverage has real edges — every method above reflects them, not a marketing claim:
- Company registry (
companies_search,company,people_search,events_*,directors_network): Spain, France, the UK, Ireland, Poland, Norway, Finland, Sweden, Croatia, Belgium, Denmark. Ireland and Poland are company-level today (no officers yet). Finland, Sweden, Croatia, Belgium and Denmark are company records only, with register-change events (name, status, legal form and registered address; share capital for Croatia; dated when the change first appears in the register data, not gazette notices, none before 2026-09-30) and monitoring, but no officers and no registry-compliance signal. Corporate insolvency notices are linked by business ID (Finland), organisationsnummer (Sweden), MBS (Croatia) and CVR number (Denmark); Belgium has none (its bankruptcy shows in the company status and in its register-change events). Sole traders (enskild näringsverksamhet, trgovac pojedinac), enterprises of natural persons (eenmanszaak / entreprise individuelle), sole proprietorships (enkeltmandsvirksomhed) and estates are never served. Denmark has no share capital, and its status includes the register's bankruptcy state. - Insolvency (
insolvency_search,insolvency_check): corporate only, twelve markets (FR, DE, GB, AT, CH, NO, FI, US, NL, DK, HR, SE). Personal/consumer insolvency is never returned. Spain's concursal data is onrecords_search(GET /search), notinsolvency_search. - Monitoring (
monitors,monitor,monitor_create,monitor_delete): ES, IE, PL, FI, SE, BE, HR, DK; alerts on status changes, dissolutions, sanctions matches and corporate events (ES and FI/SE/BE/HR/DK). - Sanctions screening (
sanctions_screen*): beta. - PEP hits (
sanctions_screen(name, include_pep=True)): beta, Spain only. - Norway: no corporate-event stream (
events_*returns empty for NO, and for IE and PL). - Finland: company records only (
people_searchreturns empty for FI;events_*returns register-change events, dated when first seen in the register data and none before 2026-09-30;monitor_createaccepts it). Its insolvency notices are linked by business ID. - Sweden: company records only (
people_searchreturns empty for SE;events_*returns register-change events;monitor_createaccepts it). Corporate insolvency notices (konkurs, företagsrekonstruktion, ackordsförhandling; updated weekly, no court, case number or source link, proceedings that ended before collection not included) are oninsolvency, linked by organisationsnummer. - Croatia: company records only (
people_searchreturns empty for HR;events_*returns register-change events, including share capital;monitor_createaccepts it). Corporate insolvency notices (court decisions on bankruptcy, shortened bankruptcy and pre-bankruptcy proceedings, with court and case number where the register states them; only companies still on the register) are linked by MBS. A Croatian company is found by MBS (company_number), OIB (oib) or the VAT alias (vat=HRplus the OIB). - Belgium: company records only (
people_searchreturns empty for BE;events_*returns register-change events;monitor_createaccepts it). Belgium is not one of the twelve insolvency markets: its bankruptcy shows in the company status and in its register-change events. A Belgian company is found by enterprise number (company_number, the dots and spaces optional) or the VAT alias (vat=BEplus the ten digits). - Denmark: company records only (
people_searchreturns empty for DK;events_*returns register-change events;monitor_createaccepts it). Corporate insolvency notices (konkurs and tvangsakkord decisions from CVR credit information, dated by the decision, no court or case number) are linked by CVR number. Contains CVR data (Erhvervsstyrelsen), CC BY 4.0. A Danish company is found by CVR number (company_number, spaces and hyphens optional; the mod-11 check is advisory) or the VAT alias (vat=DKplus the eight digits).
Get a key
Free at https://www.prometiam.com/signup, no card required. Docs: https://www.prometiam.com/risk-api/docs. Support: support@prometiam.com.
Metadata
Release files for prometiam-risk-api 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| prometiam_risk_api-0.1.0.tar.gz | 13.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prometiam_risk_api-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / prometiam_risk_api-0.1.0.tar.gz
| Download URL | prometiam_risk_api-0.1.0.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c60b16de21c7864148201b2a994181075d603ea645415720b2809569d83e190b
|
|
BLAKE2b-256 checksum How to use checksums |
d097481057d311b2e3c1eb5c44a03bf0b77bfc477b6d7e4f04983de002bbb13a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / prometiam_risk_api-0.1.0-py3-none-any.whl
| Download URL | prometiam_risk_api-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd6abf63646ca58cda25467a112fb22a2aec9b34e19c232249ea67018bbede9a
|
|
BLAKE2b-256 checksum How to use checksums |
4cdd801aeb81a22016b40541e386fc2aca3d8afe5b7a70d294cbbfd01728cfd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logSecurity for prometiam-risk-api 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for prometiam_risk_api-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.