Brazil Sports Betting Compliance (SPA Check)
Updated on 14.10.25
8 minutes to read
Copy link
Overview
CPF-based screening enables Brazilian iGaming operators to identify high-risk or restricted individuals across multiple data sources, ensuring compliance with Brazilian law, responsible gaming, and anti-money laundering (AML) regulations.
This unified screening approach combines SPA (Secretariat of Prizes and Bets) checks, social welfare program monitoring, and Politically Exposed Persons (PEP) verification, providing a precise, real-time method to reduce false positives and manage restricted or high-risk users.
Key benefits
Here are the key benefits of using SPA checks:
- Comprehensive coverage: Screen individuals across SPA, government welfare programs, and PEP registries using a single CPF number.
- Accurate & real-time identification: CPF-based matching reduces false positives compared to name-based methods, minimizing manual review.
- Enhanced fraud and AML detection: Identify restricted users, potential misuse of social benefits, and high-risk PEPs.
- Ease of integration: Already using SEON’s Fraud API? Just update the API configuration to enable all CPF-based checks — no extra setup is needed.
Coverage & Sources
CPF-based screening now includes multiple integrated sources:
SPA (Secretariat of Prizes and Bets)
- Who it covers: Athletes, referees, managers, coaches, and immediate family members (up to second-degree relations).
- Scope: Traditional sports and esports.
- Purpose: Prevent individuals with direct influence over sports outcomes from participating in betting.
Social Welfare & Benefits Programs
- Bolsa Família: Ensures gambling funds do not come from government welfare.
- BPC (Benefício de Prestação Continuada): Safeguards income for elderly or disabled low-income individuals.
- Seguro Defeso: Protects off-season fishermen’s income.
- Auxílio Emergencial: Monitors temporary COVID-19 relief program recipients.
- Garantia Safra: Supports agricultural producers impacted by natural disasters.
- Purpose: Prevent misuse of government support programs for gambling and detect potential AML risks.
PPN / PEP / PPE Checks
PPN (National PEP) – Publicly Known Person: Individuals with broad public exposure and social influence, such as artists, TV hosts, athletes, high-profile businesspeople, and digital influencers.
PEP (Local PEP) – Politically Exposed Person: Individuals who currently hold or have held prominent public positions, mandates, or functions, as well as their family members and close associates, as defined by Brazilian law. This classification remains valid during the term of office and for up to five years after it ends.
PPE – Extended Politically Exposed Person: Individuals who were previously classified as PEPs but have surpassed the five-year period following the end of their mandate. Although they are no longer formally considered PEPs, they still represent reputational risk and potential political or economic influence.
How it works
- Submit CPF: The user’s CPF number is sent via the API in the user_photoid_number field.
- Real-time Query: The system cross-checks the CPF across all integrated sources, including:
- SPA (Secretariat of Prizes and Bets): Athletes, referees, managers, coaches, and immediate family members.
- Social Welfare & Benefits Programs: Bolsa Família, BPC, Seguro Defeso, Auxílio Emergencial, and Garantia Safra.
- PPN / PEP / PPE Checks: Publicly Known Persons, Politically Exposed Persons, and Extended PEPs.
- Response: The system returns the user’s eligibility status, flags any potential risks, and indicates whether betting is allowed for that CPF.
API response fields
Field name | Description |
has_brazil_spa_match | Indicates whether the CPF has betting restrictions or any other flags (true/false). |
has_bolsa_familia_match | |
has_cpf_based_pep_match | |
has_cpf_based_ppe_match | |
has_cpf_based_ppn_match | |
has_seguro_defeso_match | |
has_garantia_safra_match | |
has_auxilio_emergencial_match | |
has_brazil_bpc_match | |
entries | Detailed information about restrictions, including: - Restriction type (e.g., athlete, family member). - Individual's name and role. - Organization or entity name. |
update_date | Last update timestamp for the restriction. |
Sample response
{
"success":true,
"data":{
"local_aml_match":{
"has_brazil_spa_match": true,
"has_bolsa_familia_match": true,
"has_cpf_based_pep_match": true,
"has_cpf_based_ppe_match": true,
"has_cpf_based_ppn_match": true,
"has_seguro_defeso_match": true,
"has_garantia_safra_match": true,
"has_auxilio_emergencial_match": true,
"has_brazil_bpc_match": true
},
"local_aml_entries":{
"brazil_spa_entries":[
{
"registration_data":{
"cpf":"00009073285"
},
"person_prevented_from_betting":{
"athletes":[
{
"betting_prohibited":"SIM",
"related_to_sport":"SIM",
"restriction_type":"ATLETA",
"cpf_number":"379073285",
"person_name":"OLIVEIRA JUNIOR",
"nickname":"MARCOS",
"classification":"ATLETA",
"sport":"FUTEBOL",
"sport_type":"COLETIVA",
"entity_name":"CAPITAO POCO ESPORTE CLUBE",
"entity_state":"PA",
"link_level":"0",
"update_date":"21/06/2024"
}
]
}
}
]
}
}
}
Requirements
- CPF number: Mandatory input for checks.
Data protection and security
We treat CPF numbers as sensitive data (PII) and adhere to GDPR and ISO 27001 standards to ensure strict data protection and compliance.
Integration and billing
Each request to SPA database is billable.
Billing reports aggregate the total number of checks per month.
Step-by-step integration guide
Step 1: Enable CPF-Based Screening in source configuration
In your source configuration, enable the integrated CPF-based screening by adding the following settings under local_aml_sources
:
Example configuration
{
"config": {
"aml": {
"type": "PERSON",
"version": "v1",
"monitoring_required": true,
"monitoring_schedule": "ON_CHANGE",
"sources": {
"sanction_enabled": true,
"pep_enabled": true,
"watchlist_enabled": true,
"crimelist_enabled": true,
"adversemedia_enabled": true,
"local_aml_sources": {
"brazil_spa": true,
"bolsa_familia": false,
"cpf_based_pep": false,
"cpf_based_ppe": false,
"cpf_based_ppn": false,
"seguro_defeso": false,
"garantia_safra": false,
"auxilio_emergencial": false,
"brazil_bpc": false
}
},
"fuzzy_enabled": true,
"fuzzy_config": {
....
}
},
"aml_api": true,
"response_fields": "aml_details"
}
}
Step 2: Submitting a CPF for SPA check
Send a request to the Fraud API with the CPF number in the user_photoid_number
field.
Example configuration
{
"user_photoid_number": "00379073285"
}
Step 3: Understanding the Response
Example for SPA configuration
{
"success":true,
"error":{
},
"data":{
"has_watchlist_match":false,
"has_sanction_match":true,
"has_crimelist_match":false,
"has_pep_match":false,
"has_adversemedia_match":true,
"local_aml_match":{
"has_brazil_spa_match":false
},
"result_payload":{
"searched_at":"2024-04-17T19:29:30.164Z",
"sanctionlist_sources":[
],
"watchlist_entries":[
],
"sanctionlist_entries":[
],
"crimelist_entries":[
],
"pep_entries":[
],
"adversemedia_entries":[
],
"local_aml_entries":
{
"brazil_spa_entries":[
{
"registration_data":{
"cpf":"00379073285"
},
"person_prevented_from_betting":{
"athletes":[
{
"betting_prohibited":"SIM",
"related_to_sport":"SIM",
"restriction_type":"ATLETA",
"cpf_number":"379073285",
"person_name":"JOSE MARCOS ANSELMO DE OLIVEIRA JUNIOR",
"nickname":"MARCOS",
"classification":"ATLETA",
"sport":"FUTEBOL",
"sport_type":"COLETIVA",
"entity_name":"CAPITAO POCO ESPORTE CLUBE",
"entity_state":"PA",
"link_level":"0",
"update_date":"21/06/2024"
}
],
"relatives":[
{
"betting_prohibited":"SIM",
"related_to_sport":"NAO",
"restriction_type":"FAMILIAR",
"cpf_number":"379073285",
"person_name":"JOSE MARCOS ANSELMO DE OLIVEIRA JUNIOR",
"classification":"VINCULO FAMILIAR",
"sport":"FUTEBOL",
"link_level":"2",
"link_type":"IRMAO",
"related_document":"107766213",
"related_name":"SAYMON RUFINO DE OLIVEIRA",
"update_date":"21/06/2024"
}
],
"partners_of_company":[
{
"betting_prohibited":"SIM",
"related_to_sport":"NAO",
"restriction_type":"AGENTE OPERADOR",
"cpf_number":"12843133874",
"person_name":"RICARDO AUGUSTO BIANCO ROSADA",
"classification":"AGENTE OPERADOR",
"entity_name":"FANSTOK SERVICOS COMBINADOS DE MARKETING TECNOLOGIA E INTERMEDIACAO PARA EMPRESAS LTDA",
"entity_state":"SP",
"entity_position_function":"SOCIO ADMINISTRADOR",
"link_level":"0",
"related_document":"43349318000195",
"update_date":"09/11/2024"
}
]
}
}
]
}
}
}
}
Explanation of the fields
Key | Value | Explanation |
success | true | Indicates the success status of the response. |
error | {} | Contains error details if any; currently empty. |
local_aml_match | {...} | Contains AML (Anti-Money Laundering) match details specific to local jurisdictions. |
local_aml_match ? has_brazil_spa_match | true | Indicates if there was a match in Brazil's SPA list |
result_payload | {...} | Provides detailed information about the search results. |
searched_at | 2024-04-17T19:29:30.164Z | Timestamp when the search was performed. |
brazil_spa_entries | [ {...} ] | Contains entries specific to Brazil SPA matches. |
registration_data ? cpf | 00379073285 | Registration CPF number of the person related to the Brazil SPA match. |
Details in person_prevented_from_betting
Category | Key | Value | Explanation |
athletes | betting_prohibited | SIM | Indicates betting is prohibited for this athlete. |
related_to_sport | SIM | Confirms the restriction is sport-related. | |
restriction_type | ATLETA | Type of restriction applied (Athlete). | |
cpf_number | 379073285 | CPF number of the athlete. | |
person_name | JOSE MARCOS ANSELMO DE OLIVEIRA JUNIOR | Name of the athlete. | |
nickname | MARCOS | Nickname of the person. | |
classification | ATLETA | Classification as an athlete. | |
sport | FUTEBOL | Sport the person is involved in (Football). | |
sport_type | COLETIVA | Type of sport (Team sport). | |
entity_name | CAPITAO POCO ESPORTE CLUBE | Name of the associated sports entity. | |
entity_state | PA | State of the associated entity. | |
link_level | 0 | Indicates the level of link (Direct connection). | |
update_date | 21/06/2024 | Last update date of the record. |
Release notes
- Version 1.0: Initial API release with SPA checks.
- Version 2.0 (Planned): Automated declines, enhanced rules, and admin panel updates.