Our adverse media endpoint is designed for banks that needs to review persons and companies connected to a company.
Endpoint can be found in our swagger documentation: https://api.enin.ai/analysis/, under the section Adverse Media
GET /analysis/v1/company/<company_identifier>/adverse-media
We offer an endpoint where you can pass in a company identifier and receive a list of potential negative events associated with all roles and owners of that company. This means you do not have to manually check events for each role and owner.
We have defined several keyword categories that the API client can select, and results are returned based on those categories.
Build the URL and its parameters according to your needs.
company_identifier - The company identifier can be country code + organisation number or the company’s UUID. Place the identifier as part of the URL.
adverse_media_keywords_category_keys - Decide which categories are relevant. If you are unsure, leave this blank at first and adjust later.
language_codes - Should the search use Norwegian or English keywords? We search our entire event database in the language you provide.
GET https://api.enin.ai/analysis/v1/company/NO917540640/adverse-media?
adverse_media_keywords_category_keys=terror,crime,corruption,fraud
&language_codes=nb
In this example we have used fake data, but you would find similar information in a real request.
[
{
"uuid": "a431d4b4-e9de-5ddf-8e7b-30be32390a88",
"entity_uuid": "2c5c151d-d75e-5128-8fbe-f275285ae9ed",
"entity_key": "person",
"entity_name": "Kari Nordmann",
"relationship_type_keys": [
"ceo",
],
"adverse_media_categories": [ Hits for Kari Nordmann are in here ],
},
{
"uuid": "a431d4b4-e9de-5ddf-8e7b-30be32390a88",
"entity_uuid": "2c5c151d-d75e-5128-8fbe-f275285ae9ed",
"entity_key": "person",
"entity_name": "Ola Nordmann",
"relationship_type_keys": [
"board_member",
],
"adverse_media_categories": [
{
"category_key": "crime",
"event_count": 1,
"adverse_media_composites": [ Hits for Ola Nordmann and "crime" is in here.],
},
{
"category_key": "fraud",
"event_count": 1,
"adverse_media_composites": [
{
"event": {
"uuid": "0cea982c-84bc-42b8-bd22-ecef30449395",
"data_source_uuid": "91059f48-21fa-4918-9be8-722ddca9da64",
"data_source_business_key": "26^^^547526",
"title": "Lorem ipsum dolor sit amet",
"summary": "Consectetur adipiscing elit..",
"content": "
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ola Normann har bedradd norge.
Sed ac lacinia est. Suspendisse efficitur congue accumsan. Ut aliquet faucibus dignissim.
Phasellus condimentum elit sit amet velit bibendum sollicitudin. Nunc molestie vestibulum dignissim.
Nam ac odio quis urna blandit luctus et ut lectus. In hac habitasse platea dictumst. Aenean non consequat massa,
at iaculis felis. Fusce at aliquet tellus, quis porta ipsum. Sed eget ligula vitae tellus varius imperdiet et eget metus.
Cras iaculis non justo non vulputate. Suspendisse fermentum ante non leo rutrum,
eget mattis dolor tempus. Aliquam eu quam vestibulum, sollicitudin velit eu, elementum augue.
Donec magna velit, vehicula id sem quis, posuere eleifend ante. Nullam fermentum semper mattis.
Duis dui nisi, convallis vel convallis et, cursus quis purus.
",
"external_url": "https://www.lipsum.com/feed/html",
"author": "Kari Nordmann",
"published_timestamp": "2020-10-09T15:00:00+00:00",
},
"keywords": [
"bedrageri",
],
"keyword_highlights": "Ola Normann har drevet bedrageri",
"matching_search_entity_aliases": [
"Ola Nordmann",
],
},
],
},
],
},
];
Each hit is grouped by category and then by entity (person or company). In the sample above, Kari Nordmann is CEO, and Ola Nordmann is a board_member. The entity_uuid lets you locate the person or company elsewhere in the system, and relationship_type_keys shows the relationship to the company you queried.
Inside adverse_media_categories
you get one object per category (here crime
and fraud
). The event_count
shows how many hits were found for that category.
Lets look at the adverse_media_composites
keyword_highlights
which is an excerpt of the article where the persons name and the keyword is mentioned.This information can now be used to display the adverse media hits in an interface, showing highlights, the matched keyword and what alias of the persons are used.
If you do not need to review every role or owner, you can exclude certain roles or ownership types. You can also set a minimum ownership percentage. These filters speed up searches for large companies. Examples:
min_direct_ownership=0.5
company_share_ownership_type_identifiers=possible_beneficial_ownership
company_role_identifiers=ceo,board_chairman
As of 21 May 2025 we do not offer batch or watchlist filtering, so you must make a separate request for each company.
Each search can take anything from few seconds up to a few minutes depending on how many hits we find for each person, how many owners/roles there are.
Each search can take from a few seconds to several minutes, depending on the number of hits, owners and roles.
If you need to review multiple companies, we recommend that you:
If you have any technical questions you can send a mail to team@enin.ai or use our chat when you are logged into the application during work hours.
[
// A list of all entities (persons or companies), and hits on those entities.
{
"uuid": "string",
"entity_uuid": "string", // Uuid of the entity, for instance the person.uuid (Can be used to look up the person in other endpoints)
"entity_key": "string", // What type of entity? Can be person or company
"entity_name": "string", // The name of the entity, for instance person.name
"relationship_type_keys": [
"string" // What relationship does the entity have? For instance ceo, company_itself
],
"adverse_media_categories": [ // All events found are grouped by the respective category
{
"category_key": "string", // What category
"event_count": 0,
"adverse_media_composites": [ // A composite list of all results
{
"event": { // The event itself, and contents of the event.
"uuid": "string",
"data_source_uuid": "string",
"title": "string", // Title of the article
"summary": "string", // Summary of the article
"content": "string", // The body/text of the article
"external_url": "string", // Source url
"author": "string",
"published_timestamp": "2025-05-21T11:14:49.187Z",
},
"keywords": [
"string" // Adverse media keywords that were matched
],
"keyword_highlights": "string", // A string excerpt of highlight from the title, summary or content.
"matching_search_entity_aliases": [
"string" // What alias of the entity's name was matched?
]
}
]
}
]
}
]
For investigating Anti-Fraud and AML we also recommend that you look into our company flag endpoints which can also give a good indication for trouble on a company.