Infoproff API Documentation - v4


Getting Started


Web service wsdl and schemas are located here:

https://wsdfn.infoproff.com/v4/

Postman Collection (API v4) — Ready for Use:

https://www.postman.com/infoproff/infoproff-webservices/documentation/9kweer5/soap-api-v4

Postman provides a convenient way to test our API without the need to write any code. It can also automatically generate example HTTP requests for most common programming languages.

The requests generated by Postman are basic HTTP calls compatible with our SOAP API. However, for production-grade integration, we recommend using fully featured SOAP clients available in most programming languages. These clients can work directly with WSDL and XSD, automatically handling schemas, data types, and message structures.

Using a dedicated SOAP client ensures a more reliable and robust integration, reducing the likelihood of errors when constructing and parsing SOAP messages.

Authentification details

The primary authentication method is HTTP Basic Auth. Using the Authorization header with encoded credentials is the preferred and recommended approach.

The username corresponds to the App ID, and the password is the associated Secret Key. These values are generated in the API Tokens section of the user dashboard and are not related to the credentials used for logging into the portal.

The authentication_block mechanism, used in previous API versions, is still supported for backward compatibility but is considered deprecated and should not be used in new integrations.

Web service functions:

  • SimpleSearch - Search companies information in different countries.
  • ChkFinance - Search for available financial statements.
  • Order - Creates an order_id and returns duplicates. Duplicates are selected by next parameters: country, product, reg_code.
  • OrderCancellation - If you sent an order request and received the order_id, you have an opportunity to cancel this order (if is it not gone into production).
  • OrderConfirmation - After getting order_id you will have to confirm your order within 1 hour. If you don't confirm your order within 1 hour, the order will be cancelled automatically.
  • ChkStatus - Check order status.
  • GetReport - Get finished reports.

  • GetClassifiersFinancialStatements - Get all financial documents with all elements: row_number, row_formated_description, row_lang_key and row_order.
  • GetLegalForms - Get all legal forms for all available countries.
  • GetActivityClassificators - Get all codes and descriptions for specific activity classificator.
  • GetDictionaryStandardPhrases - Get all standard phrases with keys and language.
  • GetAvailableProducts - Get a list of available products.

  • CreditOpinionCalculator - Credit Opinion Calculator helps to assign credit opinion on a company.

API provides several services:

  1. Online credit reports for the following countries: Finland (FIN), Sweden (SWE), Belgium (BEL), Netherlands (NLD), Estonia (EST), Kazakhstan (KAZ), Poland (POL), Kyrgyzstan (KGZ), China (CHN), Mongolia (MNG)
  2. Offline reports for the following countries: All countries
  3. Credit opinion calculator

How to search for a company?


The company search consists of 2 options:

  1. Search by company name,
  2. Search by company code.
List of available countries: Albania (ALB), Algeria (DZA), Angola (AGO), Argentina (ARG), Australia (AUS), Austria (AUT), Azerbaijan (AZE), Belarus (BLR), Belgium (BEL), Benin (BEN), Bolivia (BOL), Bosnia and Herzegovina (BIH), Botswana (BWA), Brazil (BRA), Bulgaria (BGR), Canada (CAN), Chile (CHL), China (CHN), Congo (COG), Croatia (HRV), Cyprus (CYP), Czech Republic (CZE), Denmark (DNK), Ecuador (ECU), Estonia (EST), Ethiopia (ETH), Finland (FIN), France (FRA), French Guiana (GUF), Gambia (GMB), Georgia (GEO), Germany (DEU), Greece (GRC), Greenland (GRL), Guadeloupe (GLP), Guinea (GIN), Guyana (GUY), Hong Kong (HKG), Hungary (HUN), Iceland (ISL), Ireland (IRL), Isle of Man (IMN), Israel (ISR), Italy (ITA), Ivory Coast (CIV), Japan (JPN), Jersey (JEY), Kazakhstan (KAZ), Kenya (KEN), Kosovo (XXK), Kyrgyzstan (KGZ), Latvia (LVA), Liechtenstein (LIE), Lithuania (LTU), Luxembourg (LUX), Madagascar (MDG), Maldives (MDV), Malta (MLT), Martinique (MTQ), Mauritius (MUS), Mayotte (MYT), Moldova (MDA), Monaco (MCO), Mongolia (MNG), Morocco (MAR), Namibia (NAM), Netherlands (NLD), New Zealand (NZL), Nigeria (NGA), Norway (NOR), Paraguay (PRY), Peru (PER), Philippines (PHL), Poland (POL), Portugal (PRT), Reunion (REU), Romania (ROU), Russia (RUS), Rwanda (RWA), Saint Martin (MAF), Samoa (WSM), San Marino (SMR), Serbia (SRB), Seychelles (SYC), Singapore (SGP), Slovakia (SVK), Slovenia (SVN), South Africa (ZAF), Spain (ESP), Sri Lanka (LKA), Sweden (SWE), Switzerland (CHE), Taiwan (TWN), Tajikistan (TJK), Tanzania (TZA), Thailand (THA), Togo (TGO), United Arab Emirates (ARE), United Kingdom (GBR), Uruguay (URY), Uzbekistan (UZB), Venezuela (VEN), Zambia (ZMB), Zimbabwe (ZWE)

The search for other countries is performed only in the database of archived reports. If you do not find the desired company, enter the company details manually.

Important information:

search_result_id can be acquired here for orders with delivery_term = "o" or delivery_term = "a".

It may take up to 20 seconds to respond to a search request in the following countries: United Kingdom, Ireland, France, Spain, Portugal, Germany, Italy, Austria, Switzerland.

Norway register does not allow to search deleted companies by names. Therefore, we cannot provide a SimpleSearch by names within deleted companies in Norway.

Field's length:
company_name varchar(512)
company_code varchar(64)

Below you can find the example:


Function SimpleSearch

Option 2: Search by registration code

Function SimpleSearch

Option 3: Search by query (by name or code)

Function UnifiedSearch

How to order a credit report?


List of available countries for online credit reports: Austria (AUT), Azerbaijan (AZE), Belgium (BEL), Bulgaria (BGR), China (CHN), Croatia (HRV), Czech Republic (CZE), Estonia (EST), Finland (FIN), France (FRA), Germany (DEU), Greece (GRC), Hungary (HUN), Ireland (IRL), Italy (ITA), Kazakhstan (KAZ), Kyrgyzstan (KGZ), Luxembourg (LUX), Malta (MLT), Moldova (MDA), Mongolia (MNG), Netherlands (NLD), Norway (NOR), Poland (POL), Portugal (PRT), Russia (RUS), Slovakia (SVK), Slovenia (SVN), Spain (ESP), Sweden (SWE), Switzerland (CHE), United Kingdom (GBR)
Field's length:
business_name varchar(512)
reg_code varchar(64)
vat_code varchar(64)
address varchar(512)
phone varchar(256)
email varchar(256)
additional_info varchar(512)
ref_code varchar(64)

Below you can find the example of how to order and download reports:

STEP 1: Find a company (Online/Offline Order (with search_result_id))

Function SimpleSearch

To order an Online/Offline with identification report you need to receive "<search_result_id>".
To do so, please follow the link: How to search for a company?

The search allows you to accurately identify the company you wish to place an order for. For example, in some countries, there may be several companies with one registration number, or the same official name may belong to several companies.

STEP 2: Order a report (Online/Offline Order (with search_result_id))

Function Order
If you won't use the element confirm_order, then you will receive <last_duplicates> in the XML response, so that you can decide if you really need to place an order.

STEP 3: Order cancellation (Optional) (Online/Offline Order (with search_result_id))

Function OrderCancellation
If you wish to cancel the order, you can use this OrderCancellation function. If the order is already in progress, then you won't be able to cancel it.

STEP 4: Order confirmation (Online/Offline Order (with search_result_id))

Function OrderConfirmation
If you didn't use the element "confirm_order", then you need to confirm your order.

STEP 5: Check order status (Online/Offline Order (with search_result_id))

Function ChkStatus
  • - For offline orders checking order status once every 30 minutes is acceptable frequency.
  • - For online orders checking order status once every 5 seconds is acceptable frequency.

The following statuses are used for reports:

  • In progress - Report at the production stage
  • Identification pending - Preparation of report in on hold. Requires additional data from the client.
  • Canceled - Canceled order
  • Finished - The report is ready
  • Updated - Information was added to the finished report
  • Rejected - Order is rejected (Insufficient funds, incorrect order details or other reason).
  • Technical Error - A technical error has occurred in our system. This means, that we are informed about this error and will fix it ASAP. You will be informed when you will be able to receive the order.

If the execution status is Finished or Updated, then you can get an order.

STEP 6: Get report (Online/Offline Order (with search_result_id))

Function GetReport
List of available languages: bg (Bulgarian), cs (Czech), da (Danish), de (German), el (Greek), en (English), es (Spanish), et (Estonian), fi (Finnish), fr (French), hu (Hungarian), id (Indonesian), it (Italian), ja (Japanese), ko (Korean), lt (Lithuanian), lv (Latvian), nb (Norwegian Bokmål), nl (Dutch), pl (Polish), pt (Portuguese), ro (Romanian), ru (Russian), sk (Slovak), sl (Slovenian), sr (Српски), sv (Swedish), tr (Turkish), uk (Ukrainian), zh (Chinese)

STEP 1: Order a report (Offline Order (without search_result_id))

Function Order
If you won't use the element confirm_order, then you will receive <last_duplicates> in the XML response, so that you can decide if you really need to place an order.

STEP 2: Order cancellation (Optional) (Offline Order (without search_result_id))

Function OrderCancellation
If you wish to cancel the order, you can use OrderCancellation function. If the order is already in progress, then you won't be able to cancel it.

STEP 3: Order confirmation (Offline Order (without search_result_id))

Function OrderConfirmation
If you didn't use the element "confirm_order", then you need to confirm your order.

STEP 4: Status Checking (Offline Order (without search_result_id))

Function ChkStatus
For offline orders checking order status once every 30 minutes is acceptable frequency.

The following statuses are used for reports:

  • In progress - Report at the production stage
  • Identification pending - Preparation of report in on hold. Requires additional data from the client.
  • Canceled - Canceled order
  • Finished - The report is ready
  • Updated - Information was added to the finished report
  • Rejected - Order is rejected (Insufficient funds, incorrect order details or other reason).
  • Technical Error - A technical error has occurred in our system. This means, that we are informed about this error and will fix it ASAP. You will be informed when you will be able to receive the order.

If the execution status is Finished or Updated, then you can get an order.

STEP 5: Get report (Offline Order (without search_result_id))

Function GetReport
List of available languages: bg (Bulgarian), cs (Czech), da (Danish), de (German), el (Greek), en (English), es (Spanish), et (Estonian), fi (Finnish), fr (French), hu (Hungarian), id (Indonesian), it (Italian), ja (Japanese), ko (Korean), lt (Lithuanian), lv (Latvian), nb (Norwegian Bokmål), nl (Dutch), pl (Polish), pt (Portuguese), ro (Romanian), ru (Russian), sk (Slovak), sl (Slovenian), sr (Српски), sv (Swedish), tr (Turkish), uk (Ukrainian), zh (Chinese)

How to order an archived credit report?


Purchase of an archived report is available for all countries.

Below you can find the example of how to order and download archived reports:

STEP 1: Find a company

Function SimpleSearch

To order an archived report you need to receive "<search_result_id>" which has an "<archived_reports>" section that contains a product you need.
To do so, please follow the link: How to search for a company?

Example companies with archived reports:

  • Country: EST, Reg. Code: 12309116
  • Country: EST, Reg. Code: 12854256
  • Country: EST, Reg. Code: 12830238
  • Country: USA, Company name: Apple

STEP 2: Order a report

Function Order

STEP 3: Order cancellation (Optional)

Just like the online/offline reports.

STEP 4: Order confirmation

Just like the online/offline reports.

STEP 5: Check order status

Just like the online/offline reports.

For archived orders checking order status once every 5 seconds is acceptable frequency.

STEP 6: Get report

Just like the online/offline reports.

How to order online financial statements?


STEP 1: Find a company

Function SimpleSearch

To order an online financial statements, you need to receive "<search_result_id>".
To do so, please follow the link: How to search for a company?

The search allows you to accurately identify the company you wish to place an order for. For example, in some countries, there may be several companies with one registration number, or the same official name may belong to several companies.

STEP 2: Search for available financial statements

Function ChkFinance

This function is only needed when ordering a product: finances (Financial statements) with delivery_term = 'o'.

List of available countries: Estonia (EST), Sweden (SWE)

STEP 3: Order financial statements

Function Order
If you won't use the element confirm_order, then you will receive <last_duplicates> in the XML response, so that you can decide if you really need to place an order.

STEP 4: Order cancellation (Optional)

Function OrderCancellation
If you wish to cancel the order, you can use this OrderCancellation function. If the order is already in progress, then you won't be able to cancel it.
To see the examples of xml request/response, please follow the link: How to cancel the order?

STEP 5: Order confirmation

Function OrderConfirmation
If you didn't use the element "confirm_order", then you need to confirm your order.
To see the examples of xml request/response, please follow the link: How to confirm the order?

STEP 6: Check order status

Function ChkStatus
  • - For online orders checking order status once every 5 seconds is acceptable frequency.

The following statuses are used for reports:

  • In progress - Report at the production stage
  • Identification pending - Preparation of report in on hold. Requires additional data from the client.
  • Canceled - Canceled order
  • Finished - The report is ready
  • Updated - Information was added to the finished report
  • Rejected - Order is rejected (Insufficient funds, incorrect order details or other reason).
  • Technical Error - A technical error has occurred in our system. This means, that we are informed about this error and will fix it ASAP. You will be informed when you will be able to receive the order.

If the execution status is Finished or Updated, then you can get an order.

To see the examples of xml request/response, please follow the link: How to check order status?

STEP 7: Get report

Function GetReport
List of available languages: bg (Bulgarian), cs (Czech), da (Danish), de (German), el (Greek), en (English), es (Spanish), et (Estonian), fi (Finnish), fr (French), hu (Hungarian), id (Indonesian), it (Italian), ja (Japanese), ko (Korean), lt (Lithuanian), lv (Latvian), nb (Norwegian Bokmål), nl (Dutch), pl (Polish), pt (Portuguese), ro (Romanian), ru (Russian), sk (Slovak), sl (Slovenian), sr (Српски), sv (Swedish), tr (Turkish), uk (Ukrainian), zh (Chinese)
To see the examples of xml request/response, please follow the link: How to get finished order?

How to download standard reports (in formats other than XML)?


Types of standard product: Basic Report, Mini Report, Linkages, Registration Data Report, Full report (private person), Short report (private person), Full report (with research), Financials (bank), Short Report, Real estate ownership search, Extended report, Full Report, KYC Report, Linked persons, Credit Opinion, Financial statements.

The request consist of 3 parts:

  1. Fixed part https://www.infoproff.com/en/orders/files/
  2. Your unique hash, which we provide in response
  3. And fixed part at the end /report?&lang=en&doc_type=pdf&currency_position=left&preferred_currency=EUR
https://www.infoproff.com/en/orders/files/<order_hash>/report?&lang=en&doc_type=pdf&currency_position=left&preferred_currency=EUR
lang: en, et, ru, lv, bg, cs, da, de, el, fi, fr, hu, id, it, ja, ko, lt, nl, nb, pl, pt, ro, sk, sl, es, sr, sv, tr, uk, zh
doc_type: pdf, html, docx, xlsx
currency_position: left, right
preferred_currency: XXX - Original (no exchange), EUR, USD, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, GBP, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, RUB, SEK, SGD, THB, TRY, ZAR

How to download non-standard products?


Types of non-standard product: Marketing database (special offer), Site visit - non-capital city, Extract from registry, Site visit - capital city, Due Diligence, non-standard, Shareholder document, Memorandum of Association, Certificate of incorporation.

The request consist of 3 parts:

  1. Fixed part https://www.infoproff.com/en/orders/files/
  2. Your unique hash, which we provide in response
  3. And fixed part at the end /download

How to get credit opinion?


Function CreditOpinionCalculator

How to get additional information?


Function GetClassifiersFinancialStatements
Function GetActivityClassificators
Function GetDictionaryStandardPhrases
Function GetAvailableProducts

delivery_term:

  1. "o" = "Online"
  2. "n" = "Normal"
  3. "f" = "Flash"
  4. "s" = "SuperFlash"

Possible errors


These errors may occur while making request to our web service.


All functions
  • Incorrect username/password or you have no permissions.
    You are entering wrong credentials or your API access is blocked.

Function SimpleSearch
  1. You don't have permissions to search in this country.
    List of available countries: Albania (ALB), Algeria (DZA), Angola (AGO), Argentina (ARG), Australia (AUS), Austria (AUT), Azerbaijan (AZE), Belarus (BLR), Belgium (BEL), Benin (BEN), Bolivia (BOL), Bosnia and Herzegovina (BIH), Botswana (BWA), Brazil (BRA), Bulgaria (BGR), Canada (CAN), Chile (CHL), China (CHN), Congo (COG), Croatia (HRV), Cyprus (CYP), Czech Republic (CZE), Denmark (DNK), Ecuador (ECU), Estonia (EST), Ethiopia (ETH), Finland (FIN), France (FRA), French Guiana (GUF), Gambia (GMB), Georgia (GEO), Germany (DEU), Greece (GRC), Greenland (GRL), Guadeloupe (GLP), Guinea (GIN), Guyana (GUY), Hong Kong (HKG), Hungary (HUN), Iceland (ISL), Ireland (IRL), Isle of Man (IMN), Israel (ISR), Italy (ITA), Ivory Coast (CIV), Japan (JPN), Jersey (JEY), Kazakhstan (KAZ), Kenya (KEN), Kosovo (XXK), Kyrgyzstan (KGZ), Latvia (LVA), Liechtenstein (LIE), Lithuania (LTU), Luxembourg (LUX), Madagascar (MDG), Maldives (MDV), Malta (MLT), Martinique (MTQ), Mauritius (MUS), Mayotte (MYT), Moldova (MDA), Monaco (MCO), Mongolia (MNG), Morocco (MAR), Namibia (NAM), Netherlands (NLD), New Zealand (NZL), Nigeria (NGA), Norway (NOR), Paraguay (PRY), Peru (PER), Philippines (PHL), Poland (POL), Portugal (PRT), Reunion (REU), Romania (ROU), Russia (RUS), Rwanda (RWA), Saint Martin (MAF), Samoa (WSM), San Marino (SMR), Serbia (SRB), Seychelles (SYC), Singapore (SGP), Slovakia (SVK), Slovenia (SVN), South Africa (ZAF), Spain (ESP), Sri Lanka (LKA), Sweden (SWE), Switzerland (CHE), Taiwan (TWN), Tajikistan (TJK), Tanzania (TZA), Thailand (THA), Togo (TGO), United Arab Emirates (ARE), United Kingdom (GBR), Uruguay (URY), Uzbekistan (UZB), Venezuela (VEN), Zambia (ZMB), Zimbabwe (ZWE)
Function Order
  1. This product is not available.
    Such product can't be found and it is not possible to order.
  2. You can't order report on company with legal form: "legal_form"
    This error only applies to: Sweden (SWE)
    In Sweden it is not possible to order online report (delivery_term = "o") with the next legal forms:
    • enskild näringsidkare
    • kommanditbolag
    • handelsbolag
  3. When delivery term is Online, please use order_details_by_id with search_result_id.
    This error only appears if you are trying to order online report without search_result_id.
    It is important yo use order_details_by_id in OrderReportRequest
  4. Business Name or Reg Code is required
    When ordering offline report (delivery_term = "n", "f" or "s") "Business Name" or "Reg Code" is required.
  5. Reg Code is required when delivery term is Online
    When ordering online report (delivery_term = "o") "Reg Code" is required.

Function GetReport
  1. This language is not supported.
    List of available languages for Online reports: bg (Bulgarian), cs (Czech), da (Danish), de (German), el (Greek), en (English), es (Spanish), et (Estonian), fi (Finnish), fr (French), hu (Hungarian), id (Indonesian), it (Italian), ja (Japanese), ko (Korean), lt (Lithuanian), lv (Latvian), nb (Norwegian Bokmål), nl (Dutch), pl (Polish), pt (Portuguese), ro (Romanian), ru (Russian), sk (Slovak), sl (Slovenian), sr (Српски), sv (Swedish), tr (Turkish), uk (Ukrainian), zh (Chinese)

Functions GetReport ChkStatus
  1. Incorrect order_id.
    Order ID can't be found. You get order ID when you use Order function.

Function OrderCancellation
  1. Your order is already canceled.
    You don't have permission to cancel the order anymore.

Function OrderConfirmation
  1. You don't have permission to confirm the order anymore. Confirmation can be done within one hour after you recieved 'order_id'.

SOAP (Version 4) changes compared to SOAP (Version 3)


New Sections

  • country_economic_overview — includes the following subsections: data_transparency_index, country_development_indicators, economic_forecast.
  • paid_taxes — information about taxes paid.
  • tenders — information about tenders.
  • sanctions — added to the negative_information section.

Updates to Existing Sections

In sections beneficiaries, shareholders, managers, and employees_data, the following element was added:
  • source_type — type of data source (e.g., official, mass_media, company_admin, etc.).
In the relations_of_persons section, a new element has been added:
  • match_type
The capital section has been restructured:
  • The capital_amount element has been renamed to issued_capital.
  • The following new elements have been added:
    • number_of_shares
    • share_value
    • authorized_capital
In the employees_data section:
  • New element group_figure indicates whether the data includes group-level aggregated figures (true).
  • Element source_type specifies the data source type.
  • Element is_estimated is now included only if its value is true.
New assets_data section — consolidates previously existing sections:
  • real_estate_data (previously named property_data), vehicles, machinery_and_equipment (previously named assets).
  • Future additions planned: patents and biological_assets.
In the vehicles section, a new field has been added:
  • value
In the litigations section, the following elements have been added:
  • content, instance, process, authority
In financial_statement/positions and summary/latest_turnovers, a new element has been added:
  • value_origin — describes the origin of the value; for example, the value estimated - this value is estimated and calculated based on available data using logic or AI.
In the branches_data section, the following fields have been added:
  • registration_number
  • director_name

Note: Minor improvements and adjustments may still occur during the stabilization phase.

Webhooks Settings


Overview

A webhook is a way for an application to provide other applications with real-time information. Our webhook feature implements HTTP callbacks configured with a URL. An HTTP POST payload is sent to this URL in JSON format whenever a specified event occurs. In the context of our project, we have designed the webhook function to trigger specific events.

Setting up a Webhook

To set up a webhook for your application, navigate to the application settings page and look for the 'Webhooks Settings' section. And provide the following information:

  1. "Webhook URL" is the URL where your server will receive webhook POST requests.
  2. "Delivery max attempts" is the setting that defines the maximum number of retry attempts that should be made for delivering a webhook event when the initial delivery attempt fails.
  3. "Delivery retry timeout" is a setting that allows you to specify the time interval between retries when a webhook delivery attempt fails.

After providing these details, click on 'Save'.

Webhook Event Types

  1. New status of order

Webhook Payload

When an event occurs, we'll send a HTTP POST request to the payload URL with a JSON body containing information about the event.

Here's an example payload:
Payload example of new status of order
Possible values of "new_status" field:
  • "Finished" - an order is complete. An order can be picked up;
  • "Updated" - an order updated, data added to a completed order;
  • "Canceled" - an order is canceled at a customer's request (or consent);
  • "Rejected" - an order is rejected. Usually because it is impossible to identify a company.

Securing your Webhooks

It's important to verify that POST requests sent to the payload URL are from our application. To assist with this, every webhook request includes a X-Signature header.

Signature Description

For signing we use HMAC with SHA512 algorithm.

Secret is a concatenation of App ID and Secret Key from the webhooks settings.

It is possible to add your own get params to the endpoint to identify the sender if necessary.

Troubleshooting

A server must respond within 10 seconds and return a 2XX HTTP code; otherwise, webhook delivery is considered failed. In case of failure, the feature will attempt to resend the request up according delivery policy.