Intro
What is SanctionIQ and how does the API fit?
JSON, HTML, or PLAINTEXT.
Overview
High‑level behaviour of SanctionIQ.
- Clients submit personal (or company) details in a structured payload.
- SanctionIQ searches across sanctions lists, PEP databases, adverse media, regulatory sources, Interpol, and open web in near‑real‑time.
- We compile a report and deliver it via POST callback or Email, in your chosen format.
- Average completion time: 2–3 minutes per request (translation adds ~30–60s).
Request Lifecycle
How a request flows through the SanctionIQ platform.
- Request submitted
Client sends a POST request to the API with subject data and authentication details. - Validation
The API validates:- API key and email match
- Account plan and API access permissions
- Available credits
- Immediate response
If valid, the API returns200 OKimmediately and the request is queued for processing. - Processing
SanctionIQ performs multi-source screening and builds the report. - Delivery
The result is delivered via:- POST callback to
responseURL - Email to the registered address
- POST callback to
- Failure handling
If processing or delivery fails, credits are automatically refunded.
Quickstart
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"country": "Gibraltar",
"firstname": "John",
"lastname": "Smith",
"extra": "CEO of Company X",
"strict": false,
"APIKey": "ABC123456",
"email": "client@example.com",
"responseType": "POST",
"responseURL": "https://yourapp.com/response/clientId=123456",
"responseFormat": "JSON"
}' \
"SanctionIQ-Endpoint"
await fetch("SanctionIQ-Endpoint", {
method: "POST",
headers: {"Content-Type":"application/json"},
body: JSON.stringify({
country:"Gibraltar",
firstname:"John",
strict:false,
lastname:"Smith",
APIKey:"ABC123456",
email:"client@example.com",
responseType:"POST",
responseURL:"https://yourapp.com/callback",
responseFormat:"JSON"
})
});
import requests
url = "SanctionIQ-Endpoint"
payload = {
"country":"Gibraltar",
"firstname":"John",
"lastname":"Smith",
"extra":"CEO of Company X",
"strict": False,
"APIKey":"ABC123456",
"email":"client@example.com",
"responseType":"POST",
"responseURL":"https://yourapp.com/response/clientId=123456",
"responseFormat":"JSON"
}
requests.post(url, json=payload).raise_for_status()
Endpoint
HTTPS POST · Content-Type: application/json
API endpoints are available once API access is enabled in your account.
Alternative (no‑code): email report@sanctioniq.io — see Email mode.
Dev / Test Endpoint
Test integrations without consuming live credits.
https://api.sanctioniq.io/api/v1/dev/report
- Returns mock responses matching the live API structure
- Does not consume paid credits
- Monthly dev usage limits apply
Authentication
Include a valid APIKey and your registered email in the request body. These are validated together. If they don't match, you'll receive 401 Unauthorized.
Requests are also validated against your account plan, API access permissions, and available credits.
{
"APIKey": "abc12345-secure-key-9876",
"email": "client@example.com"
}
Request Payload Schema
Required and optional fields.
Required
| Field | Type | Description |
|---|---|---|
| country | string | Country associated with the subject. |
| APIKey | string | Your issued key. |
| string | Registered email (also used for delivery if responseType=EMAIL). | |
| responseURL | string | Your callback URL. |
| responseType | string | EMAIL or POST.All requests are processed asynchronously. The API immediately returns 200 if accepted, and the final result is delivered via callback or email. |
| responseFormat | string | HTML · JSON · PLAINTEXT |
responseURL must be a valid public HTTPS URL and must not point to localhost, loopback addresses, private/internal IP ranges, link-local/metadata addresses, or other non-public callback destinations.
Optional
| Field | Type | Description |
|---|---|---|
| firstname | string | First name of person. |
| lastname | string | Last name of person. |
| name | string | Company name (if doing a company search instead of a person). |
| extra | string | Context such as job title, aliases, identifiers. |
| strict | boolean | Optional. Defaults to false. When true, SanctionIQ treats supplied identifiers such as date of birth, country, company name, address or registration number as stricter identity filters. This can reduce false matches, but may return fewer possible results. |
| returnParams | string | Comma‑separated metadata echoed back as returnParams header in callback. e.g. requestId=abc123,jobId=5678 |
| language | string | Translate the report to a supported language (see Supported Languages section). |
strict field gives clients more control over identity matching. Use true when you have reliable identifying details such as DOB, company name, address, registration number or exact country. Leave it as false, or omit it, for broader discovery where possible similar-name matches may be returned for review.
firstname+lastname or name (for companies) must be present.
Example Request
{
"country": "Gibraltar",
"firstname": "John",
"lastname": "Smith",
"extra": "CEO of Company X",
"strict": false,
"APIKey": "ABC123456",
"email": "client@example.com",
"responseType": "POST",
"responseURL": "https://yourapp.com/response/clientId=123456",
"responseFormat": "JSON",
"returnParams": "clienID=12345,accountID=768456"
}
Best practice: make your response parser tolerant to missing fields/arrays in the JSON report (null/empty checks).
The structure of the JSON object may vary slightly depending on the data found for each subject.
Certain fields (e.g., legalIssues, socialMedia, associates, or wealth) may be missing, empty, or contain fewer details if no relevant information was discovered.
This is expected behaviour to ensure concise responses and relevance of data.
Response Delivery
- POST — SanctionIQ performs a callback to
responseURLwith the report body, and includesreturnParamsheader if provided. - EMAIL — Sent to
email. Body contains the results and a Word Document attachment. - Typical processing time: 2-3 minutes.
If the client account is valid and has sufficient credits, SanctionIQ will immediately respond to the initial API request with a 200 OK status. If there are issues with authentication or credits, the API will respond with appropriate error codes as detailed in the error section.
After the initial response is sent, the platform will process the request. Once completed, SanctionIQ will send the final report via the selected delivery method:
- EMAIL: Sent to the specified email with Word Document attachment.
- POST: Platform performs a callback with the response data (and includes any returnParams if provided) to the given responseURL.
If callback delivery fails, SanctionIQ will attempt fallback delivery via email to ensure the report is not lost.
Error Handling
| HTTP Code | Message | Notes |
|---|---|---|
| 200 | OK | Accepted for processing; result will be delivered by the chosen method. |
| 401 | Unauthorized | APIKey/email mismatch or not found. |
| 402 | Unauthorized | No Credits. |
| 403 | Forbidden | API access not enabled. |
| 423 | Forbidden | Account in grace / suspended. |
| 429 | Forbidden | Rate limited. |
| 503 | SanctionIQ Error – No credits deducted | Internal error while processing. |
Credits & Billing
- 1 credit per successful report.
- No credits deducted for
401/403/503outcomes.
Supported Languages
Pass the language field or use Email mode suffixes to receive translated reports.
Tap to view full list
| Language (English) | Native / Local Name |
|---|---|
| English | English |
| Spanish | Español / Castellano |
| French | Français |
| Italian | Italiano |
| Portuguese | Português |
| German | Deutsch |
| Dutch | Nederlands |
| Swedish | Svenska |
| Norwegian | Norsk |
| Danish | Dansk |
| Finnish | Suomi |
| Icelandic | Íslenska |
| Russian | Русский |
| Ukrainian | Українська |
| Polish | Polski |
| Czech | Čeština |
| Slovak | Slovenčina |
| Bulgarian | Български |
| Serbian | Српски |
| Croatian | Hrvatski |
| Slovenian | Slovenščina |
| Greek | Ελληνικά |
| Hungarian | Magyar |
| Romanian | Română |
| Arabic | العربية |
| Hebrew | עברית |
| Turkish | Türkçe |
| Persian / Farsi | فارسی |
| Hindi | हिन्दी |
| Urdu | اردو |
| Bengali | বাংলা |
| Punjabi | ਪੰਜਾਬੀ / پنجابی |
| Gujarati | ગુજરાતી |
| Marathi | मराठी |
| Tamil | தமிழ் |
| Telugu | తెలుగు |
| Kannada | ಕನ್ನಡ |
| Malayalam | മലയാളം |
| Sinhala | සිංහල |
| Thai | ไทย |
| Vietnamese | Tiếng Việt |
| Filipino / Tagalog | Filipino / Tagalog |
| Malay / Indonesian | Bahasa |
| Chinese (Simplified) | 简体中文 |
| Chinese (Traditional) | 繁體中文 |
| Japanese | 日本語 |
| Korean | 한국어 |
| Swahili | Kiswahili |
| Yoruba | Yoruba |
| Zulu | Zulu |
| Amharic | አማርኛ |
| Somali | Somali |
Response Format Samples
Snippets from real examples (trimmed for brevity). For more up to dat examples, please check Portal examples once logged in.
*Note that the extended section is an optional section used only when extended searches are requested.
{
"status": "success",
"fullName": "John Smith",
"riskProfileConclusion": {
"riskAssessment": "High Risk",
"riskScore": 8,
"confidenceRating": 7
},
"sources": [ {"title":"Wikipedia – John Smith", "url":"https://…"} ]
}
<section id="risk-profile">
<h2>Risk Profile Conclusion</h2>
<p><strong>Overall Risk Assessment:</strong>
<span class="pill risk-high">High Risk</span></p>
<p><strong>Risk Score (0–10):</strong> 8</p>
<p><strong>Confidence Rating (0–10):</strong> 7</p>
</section>
Name: John Smith
Life Status: Alive
PEP: Yes (President of the Moon)
Sanctions: No listings found (OFAC/UN/UK/EU)
Risk: High (8/10) · Confidence: 7/10
Email mode
Send an email to report@sanctioniq.io. Use the subject to provide the name, country and optional flags.
To: report@sanctioniq.io
Subject: John Smith from Gibraltar, CEO of Awesome Company - LANGUAGE:CASTELLANO - STRICT:TRUE
Body: (leave empty or add your own return parameters)
The results will be emailed back (body + Word Document). The sender email must match the registered SanctionIQ email.
Anything added in the body will be returned in the response email as the variable ReturnParams - e.g. ReturnParams:userID=12345,requestjobID=867950
To use the language parameter, simply add it to the end of your subject as the above example or if both variables used, add it with a comma.
For example: John Smith from Gibraltar – LANGUAGE:CASTELLANO
Add
STRICT:TRUE to the subject or body to enable stricter identity matching. If omitted, Strict Search defaults to off. You can combine it with other email flags such as language.
Examples:
John Smith from Gibraltar - DOB: 04/04/1979 - STRICT:TRUEJohn Smith from Gibraltar - LANGUAGE:SPANISH - STRICT:TRUE
Risk Score vs Confidence Rating
How we separate inherent risk from certainty of assessment.
| Factor | Effect on Confidence |
|---|---|
| Source Reliability | +2 to +4 if strong (official/independent) |
| Data Completeness | +2 to +3 if key areas covered |
| Recency | +1 to +2 if ≤ 12 months |
| Consistency | +1 to +2 if corroborated |
| Contradictions / Missing | −1 to −4 where unclear |
Interpretation
- 0–3 Low confidence — sparse/contradictory data.
- 4–6 Medium — typical profile.
- 7–8 High — multiple recent, consistent sources.
- 9–10 Very High — official data + corroboration.
Risk Score Scale (0–10)
What each score band typically means and how to act.
| Score Band | Label | Typical Triggers | Suggested Actions |
|---|---|---|---|
| 0–2 | Very Low | No sanctions/PEP flags, clean adverse media, routine footprint only. | Standard onboarding. Periodic review as per BAU cadence. |
| 3–4 | Low | Minor risk indicators (limited media hits, non-material associations). | Onboard with light conditions. Set normal monitoring thresholds. |
| 5–6 | Medium | Some adverse media, indirect exposure, sector/country risk factors. | Enhanced due diligence (targeted). Heightened monitoring frequency. |
| 7–8 | High | PEP status, multiple corroborated negatives, ongoing investigations. | Full EDD, senior sign-off, risk mitigation plan before onboarding. |
| 9–10 | Critical | Confirmed sanctions, serious enforcement actions, severe adverse media. | Decline/exit. If regulated relationship exists, escalate immediately. |
Changelog
Disclaimer
SanctionIQ searches public/open sources and curated datasets. While we aim for high accuracy, the service is provided “as‑is” — clients must independently verify results before making legal, financial or compliance decisions. SanctionIQ accepts no liability for actions taken based on automated outputs.
Contact
Support: support@sanctioniq.io · Registration & API access: support@sanctioniq.io