Anti-Money Laundering (AML) Screening

AML screening lets you check an individual or business against global sanctions lists, politically exposed person (PEP) databases and adverse media (negative news). Three screening types are available: PEP and sanctions screening, PEP+ search and adverse media screening.

PEP and sanctions screening API

To screen an individual or business against sanctions lists, PEP lists and other watchlists by name, make a POST request to the PEP and sanctions screening endpoint;

https://api.korapay.com/merchant/api/v1/identities/aml-screenings/pep-sanctions/name

The request body should have the following parameters:

{
   "id": "abubakar shekau",
   "type": "individual",
   "verification_consent": true
}
FieldData TypeDescription
idstringRequired- Full name of the individual or business to screen (2 to 150 characters)
typestringRequired- Type of entity to screen. One of individual, business or all
verification_consentbooleanRequired- Indicate subject has given consent. Must be true

PEP and sanctions screening response

status
message
data
      reference
      type
      summary
              searched_value
              searched_with
              entity_type
              total_entities
              total_matches
              match_counts
                    sanctions
                    pep
                    crime
                    debarment
                    financial_services
                    government
                    role
                    religion
                    military
                    frozen_asset
                    persons_of_interest
                    associates
                    watchlists
              category_descriptions
              subject_consent
  matches
        sanctions | pep | crime | debarment | financial_services | government | role | religion | military | frozen_asset | persons_of_interest | associates | watchlists
                    category
                    entity_type
                    names
                    titles
                    first_names
                    aliases
                    weak_aliases
                    countries
                    nationalities
                    citizenships
                    birth_dates
                    birth_places
                    genders
                    ethnicities
                    religions
                    education
                    addresses
                    positions
                    position_occupancies
                        posts
                            countries
                            names
                        statuses
                        start_dates
                        end_dates
                    pep_level
                    pep_association
                    basic_for_pep_association
                    alive_or_deceased
                    address_entities
                          countries
                          full_addresses
                      family_persons
                      family_relatives
                      associates
                          names
                          countries
                          relationships
                      sanctions
                          authority
                          program
                          listing_dates
                          start_dates
                          end_dates
                          countries
                          statuses
                          provisions
                          durations
                          reasons
                          summary
                          unsc_ids
                      datasets
                      source_urls
                      datasets
                      sources
                      source_urls
                      notes
                      topics
                      match_accuracy
                date_created
                status
{
   "status": true,
   "message": "PEP screening by name completed successfully",
   "data": {
       "reference": "AS-CpyZrXVt5WT8gs3O3",
       "type": "pep_sanction_name",
       "summary": {
           "searched_value": "abubakar shekau",
           "searched_with": "name",
           "entity_type": "individual",
           "total_entities": 81,
           "total_matches": 81,
           "match_counts": {
               "sanctions": 20,
               "pep": 20,
               "crime": 3,
               "debarment": 0,
               "financial_services": 0,
               "government": 0,
               "role": 0,
               "religion": 0,
               "military": 0,
               "frozen_asset": 0,
               "persons_of_interest": 20,
               "associates": 18,
               "watchlists": 0
           },
           "category_descriptions": {
               "sanctions": "Formal sanctions-designation hits (OFAC SDN, UN consolidated list, EU/UK/HMT lists, etc.). Review nested sanctions listings for the listing authority, program name, and active dates."
           },
           "subject_consent": true
       },
       "matches": {
           "sanctions": [
               {
                   "category": "sanctions",
                   "aliases": ["ABU MUHAMMED ABUBAKAR BI MUHAMMED", "ABU MOHAMMED ABUBAKAR BIN MOHAMMED"],
                   "countries": ["ng"],
                   "datasets": ["us_sam_exclusions"],
                   "titles": ["ABUBAKAR SHEKAU"],
                   "first_names": ["ABUBAKAR"],
                   "names": ["ABUBAKAR SHEKAU"],
                   "entity_type": "person",
                   "match_accuracy": 1,
                   "sanctions": [
                       {
                           "source_urls": ["https://sam.gov/data-services/Exclusions/Public%20V2?privacy=Public"],
                           "program": ["Reciprocal"],
                           "listing_dates": ["2012-06-29"],
                           "authority": ["TREAS-OFAC"],
                           "countries": ["us"],
                           "datasets": ["us_sam_exclusions"],
                           "summary": ["PII data has been masked from view"],
                           "statuses": ["Active"],
                           "provisions": ["Prohibition/Restriction"]
                       }
                   ]
               }
           ]
       },
       "date_created": "2026-10-22T09:01:59.580Z",
       "status": "not_cleared"
   }
}

Note: This response has been shortened: it shows 1 of the 20 sanctions matches, leaves out the other match categories, and shows one entry in category_descriptions.

PEP+ search API

To get an enriched PEP profile for an individual, including the positions they hold, their PEP risk level and their social profiles, make a POST request to the PEP+ search endpoint;

https://api.korapay.com/merchant/api/v1/identities/aml-screenings/pep-search

The request body should have the following parameters:

{
   "id": "Bola Ahmed Tinubu",
   "verification_consent": true
}
FieldData TypeDescription
idstringRequired. Full name of the individual to search (2 to 150 characters)
verification_consentbooleanRequired. Indicate the subject has given consent. Must be true

PEP+ search response

status
message
data
        reference
        type
        summary
                searched_value
                searched_with
                entity_type
                total_entities
                total_matches
                match_counts
                pep
                category_descriptions
              pep
            subject_consent
          matches
                pep
                    category
                    entity_type
                    names
                    aliases
                    countries
                    states
                    genders
                    ages
                    positions
                    pep_level
                    images
                    image_confidences
                    socials
                    keywords
                    topics
                    datasets
                    sources
                    match_accuracy
            date_created
        status
{
   "status": true,
   "message": "PEP+ search completed successfully",
   "data": {
       "reference": "AS-PMLfs10R3glTwrR38",
       "type": "pep_plus_search",
       "summary": {
           "searched_value": "Bola Ahmed Tinubu",
           "searched_with": "name",
           "entity_type": "all",
           "total_entities": 1,
           "total_matches": 1,
           "match_counts": {
               "pep": 1
           },
           "category_descriptions": {
               "pep": "Politically exposed persons — individuals in senior public, political, judicial, or state-linked roles. Review positions and PEP metadata when present."
           },
           "subject_consent": true
       },
       "matches": {
           "pep": [
               {
                   "category": "pep",
                   "names": ["Bola Ahmed Tinubu"],
                   "countries": ["ng"],
                   "positions": ["President", "Commander-in-Chief of the Armed Forces"],
                   "genders": ["Male (High)"],
                   "entity_type": "person",
                   "match_accuracy": 1,
                   "pep_level": "Very High Risk (Level 1)"
               }
           ]
       },
       "date_created": "2026-10-22T09:13:36.760Z",
       "status": "review_required"
   }
}

Note: This response has been shortened: the match shows its main fields only.

Adverse media screening API

To search news and media for articles that link an individual or business to financial crime, such as fraud, money laundering, corruption or terrorism, make a POST request to the adverse media screening endpoint;

https://api.korapay.com/merchant/api/v1/identities/aml-screenings/adverse-media

The request body should have the following parameters:

{
   "id": "Jon Snow",
   "type": "individual",
   "verification_consent": true
}

Request with search filters

{
   "id": "Jon Snow",
   "type": "individual",
   "verification_consent": true,
   "country": ["us", "ng"],
   "start_date": "2020-03-10",
   "end_date": "2023-03-10",
   "tags": ["fraud", "embezzlement"]
}
FieldData TypeDescription
idstringRequired- Full name of the individual or business to screen (2 to 150 characters)
typestringRequired- Type of entity to screen. One of individual or business
verification_consentbooleanRequired- Indicate subject has given consent. Must be true
countryarrayOptional- ISO alpha-2 country codes to limit the search to, e.g. ["us", "ng"]
start_datestringOptional- Earliest publication date to search from (YYYY-MM-DD). Cannot be later than end_date
end_datestringOptional- Latest publication date to search to (YYYY-MM-DD)
tagsarrayOptional- Crime categories to filter by. Any of fraud, sanction_violations, bribery_and_corruption, money_laundering, terrorism, civil_lawsuit, cybercrime, organized_crime, drug, tax_evasion, arms_trafficking, embezzlement, securities_fraud, pharmaceutical_product_trafficking, theft, extortion, forgery, antitrust_violations, piracy, falsifying_information_on_official_documents, untagged

Adverse media screening response

status
message
data
      reference
      type
      summary
            searched_value
            searched_with
            entity_type
            total_entities
            total_matches
            match_counts
              adverse_media
            category_descriptions
            adverse_media
            subject_consent
            reason
            search_countries
            search_tags
            search_start_date
            search_end_date
            weighted_score
            tags_analysis
                  label
                  tag
                  count
                  percentage
            matches
                adverse_media
                    category
                    provider_id
                    headline
                    excerpt
                    source_url
                    site
                    published_at
                    date_published
                    relevance_score
                    sentiment
                    persons
                    organizations
                    countries
                    tags
              language
            date_created
            status
{
   "status": true,
   "message": "Adverse media screening completed successfully",
   "data": {
       "reference": "AS-IIp0VcMDhFHs6zr8b",
       "type": "adverse_media",
       "summary": {
           "searched_value": "Jon Snow",
           "searched_with": "name",
           "entity_type": "individual",
           "total_entities": 5,
           "total_matches": 5,
           "match_counts": {
               "adverse_media": 5
           },
           "reason": ": Kit Harington has expressed he doesn't want to take on a similar role again",
           "search_countries": ["us", "ng"],
           "search_tags": ["fraud", "embezzlement"],
           "weighted_score": 66.3275,
           "tags_analysis": [
               { "label": "Fraud", "count": 0, "percentage": 0, "tag": "fraud" },
               { "label": "Money laundering", "count": 0, "percentage": 0, "tag": "money_laundering" }
           ]
       },
       "matches": {
           "adverse_media": [
               {
                   "category": "adverse_media",
                   "persons": ["Jon", "Snow", "Jon Snow"],
                   "organizations": ["Snow", "UK"],
                   "countries": ["US"],
                   "headline": "Jon Snow: There's been a 'fair amount of bullshit which needed probing' during the pandemic",
                   "source_url": "https://www.pressgazette.co.uk/jon-snow-fair-amount-of-bullshit-needed-probing-during-pandemic-channel-4-news",
                   "sentiment": "Negative",
                   "language": "en",
                   "relevance_score": 71.535,
                   "published_at": "2020-06-03 13:15:02",
                   "date_published": "2020-06-03"
               }
           ]
       },
       "date_created": "2026-10-22T09:11:52.698Z",
       "status": "not_cleared"
   }
}

Note: This response has been shortened: it shows 1 of the 5 articles and 2 of the 20 tags_analysis entries, and leaves out category_descriptions, search_start_date, search_end_date and the article's provider_id.

AML screening status

Every AML screening returns a status in data.status. "cleared" means no relevant matches were found. "not_cleared" means relevant matches were found and the subject should not be onboarded without further checks. "review_required" means possible matches were found that need manual review. "unknown" means the outcome could not be determined.

AML match categories

PEP and sanctions screening results are grouped in data.matches by category: sanctions, pep, crime, debarment, financial_services, government, role, religion, military, frozen_asset, persons_of_interest, associates and watchlists. Only categories with at least one match are returned. data.summary.match_counts gives the number of matches in each category, and data.summary.category_descriptions explains each category returned. PEP+ search always returns data.matches.pep, which is an empty array when no PEP profile is found.

Adverse media risk score

Adverse media screening returns a weighted_score in the summary, which is an overall risk score across all matching articles. tags_analysis gives the number and percentage of articles in each crime category, and each article has a relevance_score and a sentiment.

AML sandbox test values

Use the test values below in the sandbox environment to simulate specific outcome states. Entity lookups match strictly on the id field and are case-insensitive.

Screening ModuleTarget TypeInput idExpected Outcome
PEP & SanctionsIndividualabubakar shekaunot_cleared
ahmed al khalid
bola tinubu
Businessamigo supermarket limitednot_cleared
PEP+ SearchIndividualBola Ahmed Tinubureview_required
IndividualJane Doecleared
Adverse MediaIndividualJon Snownot_cleared(with 5 articles)



Did this page help you?