BGC Media (Background Check Media).
BGC Media offers a robust background search service designed to screen companies and individuals against public compliance lists. This solution aids in the prevention of Money Laundering, the Financing of Terrorism (PLD/FT), and other forms of financial and job fraud.
Endpoints
There will be two endpoints available for the consumption of BGC Media: one for individuals and one for companies. These endpoints are listed below in the document.
Authentication
Every request must include an apikey
header.
Your unique key is a confidential credential issued by our Commercial team.
Headers Parameters
Name | Type | Required | Description |
---|---|---|---|
apikey | string | yes | Secret token of client identification |
Handle your key like a password—never expose it in client‑side code or public repositories. If it is lost or compromised, contact the Commercial team immediately so we can revoke it and issue a new one.
API JSON Response Model
The JSON response will be the same for both endpoints, but the records
attribute might be a dynamic list that provides information about individuals and companies.
All successful calls return a JSON envelope with record data and any non‑fatal warnings raised during processing.
Response example
{
"records": [
{
"record": 1,
"RecordDetails": { /* … */ },
"SearchDate": "",
"ResultID": 123456789,
"RunID": 987654321,
"Watchlist": { /* … */ }
}
],
"warnings": [
{
"code": "",
"message": "",
"fullMessage": ""
}
]
}
Top‑Level Envelope
Field | Type | Notes |
---|---|---|
records |
array<Record> |
One element per subject screened. Always present, but may be an empty array. |
warnings |
array<ErrorMessage> |
Optional list of non‑blocking issues (e.g., missing identifiers, partial matches). Can be null or omitted. |
ErrorMessage is defined in
Error Model
and contains at leastCode
andMessage
properties.
Object Response Reference
Record
Field | Type | Description |
---|---|---|
record |
integer |
1‑based index of the record within the response. |
recordDetails |
RecordDetails |
Full subject profile as provided in the request & enriched by screening. |
searchDate |
string(date‑time) |
UTC timestamp of the search execution. |
resultID |
long |
Unique identifier of this search result. |
runID |
long |
Identifier of the batch run this record belongs to. |
watchlist |
WatchList |
Consolidated watch‑list results. |
RecordDetails
Contains the canonicalised subject data used for matching.
Field | Type | Description |
---|---|---|
acceptListID |
long |
This element contains the system-generated number that identifies the accept list to which the record was added. |
accountAmount |
string |
This element contains the account amount. Monetary amount involved (raw value as provided). |
accountGroupID |
string |
Account group identifier. |
accountOtherData |
string |
Free‑form extra data sent by the caller. |
accountProviderID |
string |
External provider or onboarding platform reference. |
accountMemberID |
string |
Member/customer identifier. |
accountType |
string |
This element contains the account type. |
addedToAcceptList |
boolean |
Indicates whether this subject was just added to the accept list. |
addresses |
array<EntityAddress> |
Parsed addresses. |
pdsVersion |
integer |
Version of the internal data specification used. |
dppa |
string |
Driver’s Privacy Protection Act indicator. |
eftType |
string |
This element contains the payment transaction type. Possible values: • None • ACH • Fedwire • ISO20022 • SWIFT • Unstructured |
entityType |
string |
This element contains the entity type. Possible values: • Business • Individual • Text • Unknown • Unstructured |
gender |
string |
This element contains the entity gender type. Possible values: • None • Female • Male • Unknown. None is not valid in a request. |
glb |
integer |
This element contains the GLBA permissible use. |
iDs |
array<object> |
List of identifiers. |
lastUpdatedDate |
string(date‑time) |
When the record was last refreshed in our system. |
name |
EntityName | Parsed name elements (format: { First, Middle, Last, Full } ). |
WatchList
Field | Type | Description |
---|---|---|
matches |
array<Match> |
The list match information. |
status |
SearchStatusType |
This element contains the status that indicates whether a list screening search was performed and whether results were returned. Possible values: • NotSearched • NoResults • Results |
Match
A single hit returned by the screening engine.
Field | Type | Description |
---|---|---|
acceptListID | Long | This element contains a system-generated number |
addedToAcceptList | bool | true if this entity has just been added to the accept list during this screening run. |
addressName | bool | This element contains the address name. |
autoFalsePositive | bool | Set by the rules engine when the match is automatically classified as a false positive. |
bestAddressIsPartial | bool | True indicates that the best address match was to a partial address. |
bestCountry | string | This element contains the country that most closely matched the input information. |
bestCountryScore | int | This element contains the score of the country that most closely matched the input information. If a valid score is not available, then -1 is returned. |
bestCountryType | string | This element contains the type of the BestCountry element. Possible values: • None • AlternateName • City |
bestDOBIsPartial | bool | true if only a partial date of birth (month/year) matched. |
bestName | string | This element contains the entity name that most closely matched the input information. |
bestNameScore | int | This element contains the score of the name that most closely matched the input information. If a valid score is not available, then -1 is returned. |
checkSum | int | A system-generated number that is used to determine if True Match records have changed. |
conflicts | EntityMatchConflict | Key–value pairs detailing conflicting data points. |
dateModified | string | This element contains the date when the record was last updated. |
entityDetails | EntityDetails |
Full data block returned by the source list for this entity. |
entityName | string | This element contains the main entity name from the list record that generated the potential match. |
entityScore | int | Overall similarity score (0‑100) across all matched attributes. if a valid score is not available, then -1 is returned. |
entityUniqueID | string | This element contains a system-generated number that identifies the entity. |
falseMatchUpdate | string | This element contains the type of data element that generated a false match update. Possible values: • None • BestName • DOB • Gender • AKA |
falsePositive | bool | True indicates that the match decision was set to False Positive. |
file | EntityMatchFile | The information about the list that contained the potential match. |
gatewayOFACScreeningIndicatorMatch | bool | True indicates that a third-party service found OFAC matches before the record was searched in TuIdentidad. |
id | long | This element contains a system-generated number that identifies the match. |
matchReAlert | bool | Re‑alert flag set when an existing match is resurfaced due to new data. |
previousResultID | int | This element contains the previous result ID. |
reasonListed | string | This element contains the reason that the entity was listed in the list. |
relationShips | List |
Contains information about related entities. |
resultDate | DateTime | This element contains the date (YYYY-MM-DD) and 24-hour local time (HH:MM:SS) that generated the alert. |
secondaryOFACScreeningIndicatorMatch | bool | True indicates that a third-party service found OFAC matches before the record was searched in TuIdentidad. |
sourceItems | List |
Individual source records that contributed to the match. (format {SourceURI, DateModified} ) |
status | EntityDeceasedStateType | This element indicates the deceased state for the list entity. Possible values: • Unknown • Deceased • Alive • NotApplicable |
trueMatch | bool | True indicates that the match decision was set to True Match. |
EntityDetails
Provides the raw data block we received from the watch‑list provider.
Field | Type | Description |
---|---|---|
additionalInfo |
array<EntityAdditionalInfo> |
Miscellaneous data (format: { ID, Type, Value } ).. |
addresses |
array<EntityAddress> |
Locations tied to the entity. |
aKAs |
array<EntityAKA> |
“Also‑Known‑As” names. |
comments |
string |
This element contains uncategorized additional information about the list entity. This information may include source contact information, web addresses, or email addresses. |
entytiType |
string |
This element contains the entity type. Possible values: • None • Business • Individual • Unknown • Vessel |
dateListed |
string(date) |
This element contains the date that the entity was added to the list. YYYY-MM-dd |
iDs |
array<object> |
Government IDs, registry numbers, etc. |
listReferenceNumber |
string |
Unique list reference. |
name |
EntityName | Tokenised name pieces. |
EntityAdditionalInfo
Field | Type | Description |
---|---|---|
ID | Long | This element contains the system‑generated number that identifies the additional information. |
Type | String | This element contains the type of additional information. |
Value | String | This element contains the value of the additional information. |
EntityAddress
Field | Type | Description |
---|---|---|
Category | String | This element contains the address category. Possible values: • None • Residential • Business • Associated • PlaceOfBirth • CorrectionalFacility • Citizenship • CountryOfBuild • Flag • Headquarters • Nationality • Ownership • PEP • Residency • SpecialVotingRight • Unknown |
City | String | This element contains the city name. |
Comments | String | This element contains any additional comments. For example, this element may include a date for when the address was current. |
Country | String | This element contains the country name. |
ID | Long | This element contains the system‑generated number that identifies the address. |
PostalCode | String | This element contains the postal code. |
StateProvinceDistrict | String | This element contains the state, province, or district name. |
Street1 | String | This element contains the first line of the street address. |
Street2 | String | This element contains the second line of the street address. |
Type | AddressType | This element contains the address type. Possible values: • None • Current • Mailing • Previous • Unknown |
EntityAKA
Field | Type | Description |
---|---|---|
Category | AKACategoryType | This element contains the AKA (also known as) category type. This type indicates the level that the alternative name is associated with the entity. Possible values: • None • Strong • Weak |
Comments | String | This element contains additional AKA information. For example, this element may include the DOB (date of birth) information or the POB (place of birth) information for the AKA entity. |
ID | Long | This element contains the system‑generated number that identifies the record. |
Name | EntityName | This element contains the name. |
ScriptType | String | This element contains the native script (for example, Basic Latin). |
Type | AKAType | This element contains the alternative name type. Possible values: • None • Acronym • AKA (also known as) • CallSign • CCC (Chinese commercial code) • DBA (doing business as) • FKA (formerly known as) • Nickname • NKA (now known as) |
EntityName
Field | Type | Description |
---|---|---|
First | String | This element contains the first name. |
Full | String | This element contains the full name. |
Generation | String | This element contains the generation. Examples of generation information include Junior or III. |
Last | String | This element contains the last name. |
Middle | String | This element contains the middle name. |
Title | String | This element contains the title. |
EntityMatchConflict
Field | Type | Description |
---|---|---|
AddressConflict | Boolean | True indicates that the input address and the address for the list entity did not match. |
CitizenshipConflict | Boolean | True indicates that the input citizenship and the citizenship for the list entity did not match. |
CountryConflict | Boolean | True indicates that the input country and the country for the list entity did not match. |
DOBConflict | Boolean | True indicates that the input date of birth (DOB) and the DOB for the list entity did not match. |
EntityTypeConflict | Boolean | True indicates that the input entity type and the entity type of the list entity did not match. |
GenderConflict | Boolean | True indicates that the input gender and the gender for the list entity did not match. |
IDConflict | Boolean | True indicates that the input ID and the ID for the list entity did not match. |
PhoneConflict | Boolean | True indicates that the input phone number and the phone number for the list entity did not match. |
EntityMatchFile
Field | Type | Description |
---|---|---|
Build | DateTime | Date and local (24‑hour) time when built the list (YYYY‑MM‑DD HH:MM:SS). |
Custom | Boolean | True indicates that the list is a custom screening list. |
ID | Unsigned Integer | System‑generated number that uniquely identifies the list. |
Name | String | Name of the list. |
Published | DateTime | Date and local (24‑hour) time when published the list (YYYY‑MM‑DD HH:MM:SS). |
Type | DataFileType | Data‑file type of the list. Possible values: • UDF (TuID file) • ADF (accept list) • BDF (entity list) • CDF (country list) • SDF (TuID file) |
EntityRelationship
Field | Type | Description |
---|---|---|
DateModified | DateTime | Date and time when the entry was last updated. |
EntityId | Integer | WorldCompliance GUID (globally unique identifier) of the related entity. |
EntityName | String | Name of the related entity. |
Group | String | Relationship group. Possible values: • Associations • Companies • Family • MSOEMSWF (member of state‑owned enterprises / sovereign wealth funds) • None |
OwnershipPercentage | Double | Company‑to‑company ownership percentage identified by WorldCompliance researchers. Maximum five‑digit number with two decimal places (e.g., 100.00, 45.98). |
Segments | String | Risk categories to which the entity is linked. |
Source | String | WorldCompliance data source that published the information. |
SubCategories | List |
Record sub‑categories associated with the relationship. |
Type | String | Relationship type (for example, Shareholder, Director, Subsidiary). |
Possible Relationship Types
Relationship data can include relationship types. The following relationship types are available:
- None
- Accountant
- Advisor
- AffiliatedCompany
- AffiliatedOrganization
- Associate
- Aunt
- Brother
- Brotherinlaw
- CoDefendant
- Controller
- Cousin
- Daughter
- Daughterinlaw
- DecisionInflAdvisor
- DecisionInflExecutive
- DecisionInflKeyMember
- DomesticPartner
- Employee
- Executive
- ExHusband
- ExSpouse
- ExWife
- Father
- Fatherinlaw
- Friend
- GrandChild
- Grandfather
- Grandmother
- Husband
- KeyMember
- LegalCouncil
- MgmtCtrlExecutive
- MgmtCtrlKeyMember
- Mother
- Motherinlaw
- Nephew
- Niece
- Owner
- RealEstateProfessional
- RegisteredAgent
- Relative
- Sister
- Sisterinlaw
- Son
- Soninlaw
- Spouse
- Uncle
- Wife
Handling Warnings
Warnings do not change the HTTP status code (still 200 OK
). Treat them as advisory; however, if your workflow depends on complete data, you should inspect Warnings
and decide whether to:
- Retry the request with corrected input.
- Flag the record for manual review.
- Ignore the warning if it is non‑critical for your use case.
Warning Model
Name | Type | Description |
---|---|---|
code | string | A code representing the type of error. |
message | string | A human-readable message describing the error. |
fullDescription | string | Additional details about the error. |
Physical Person Method
Description
The Physical Person endpoint is used to search for person in lists in the BGC Media database. The endpoint is designed to search for individuals and provide information about them.
URI: ~/api/bgcmedia/physicalPerson
Request Parameters
These parameters are for physical persons.
Name | Type | Required | Description |
---|---|---|---|
names | string | yes | Names of the person. |
lastName | string | yes | Last name of the person |
secondLastname | string | yes | Secord surname which is typically the mother's first surname |
dateBirth | string | no | Date of birth of the person (MM/dd/YYYY) |
country | string | no | Country of origin of the person. The input text should follow the iso 3166 alfa-2 standard “MX”,”US”. |
Request example
{
"names": "John",
"lastName": "Doe",
"secondLastname": "Smith",
"dateBirth": "12/21/1990",
"country": "MX"
}
Response example
Review the JSON Response model section for the structure of the response.
Juridical Person Method
Description
The Juridical Person endpoint is used to search for companies in the BGC Media database. The endpoint is similar to the Physical Person endpoint, but it is specifically designed for companies.
URI: ~/api/bgcmedia/juridicalPerson
Request Parameters
These parameters are for juridical persons.
Name | Type | Required | Description |
---|---|---|---|
fullName | string | yes | Full Name of the company. |
country | string | no | Country of origin of the company. The input text should follow the iso 3166 alfa-2 standard “MX”,”US”. |
Request example
{
"fullName": "Company Name",
"country": "MX"
}
Response example
Review the JSON Response model section for the structure of the response.
Error Handling
The API will return a JSON object with an error message in case of an error.
Error Model
The response will include the following fields:
Name | Type | Description |
---|---|---|
code | string | A code representing the type of error. |
message | string | A human-readable message describing the error. |
fullMessage | string | Additional details about the error. |
Errors Message Reference
Code | Message |
---|---|
BGCM010 | Name field is required or contains invalid characters. |
BGCM011 | LastName field is required or contains invalid characters. |
BGCM012 | SecondLastName field is required or contains invalid characters. |
BGCM013 | DateBirth field is not in the correct format. |
BGCM014 | Country field must be a valid ISO‑3166 alpha‑2 code. |
BGCM015 | Error obtaining Access Token. |
BGCM016 | Server error. Please try again later or contact support if the issue persists. |
BGCM018 | BusinessName field is required or contains invalid characters. |
BGCM019 | Error handling the response or the server encountered an issue. |
BGCM020 | Bad Request received from the server. |
BGCM021 | Unauthorized access. Please check your credentials. |
BGCM022 | Forbidden access. You do not have permission to access this resource. |
BGCM023 | Resource not found. |
Warning Message Reference
Code | Message |
---|---|
BGCM017 | No results found for the given search criteria. |