finstat / client-api
PHP Client for Finstat API
1.6.0
2025-04-29 13:05 UTC
This package is not auto-updated.
Last update: 2025-05-13 13:31:04 UTC
README
This repository contains a PHP client for interacting with the Finstat API services. Finstat provides financial and corporate data for businesses in Slovakia and the Czech Republic.
Features
- Retrieve detailed company information by ICO (Company ID)
- Search companies using autocomplete functionality
- Monitor changes in company data
- Access daily data diffs
- Support for both Slovak and Czech business registries
Installation
composer require finstat/client-api
Configuration
Before using the API client, you need to set up your credentials:
// Basic API configuration $apiUrl = 'https://www.finstat.sk/api/'; // URL for Slovak API (use 'https://cz.finstat.sk/api/' for Czech API) $apiKey = 'YOUR_API_KEY'; // Your unique API key $privateKey = 'YOUR_PRIVATE_KEY'; // Your private key $stationId = 'Your Station ID'; // Identifier for the station making the request $stationName = 'Your Station Name'; // Name or description of the station $timeout = 10; // Timeout in seconds for server response $json = false; // Set to true if you want the API to return responses as JSON
Usage Examples
Slovak Companies API
<?php require_once(__DIR__ . '/../FinStatApi/FinstatApi.php'); require_once(__DIR__ . '/../FinStat.Client/ViewModel/AutoCompleteResult.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Detail/BaseResult.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Detail/BasicResult.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Detail/DetailResult.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Detail/ExtendedResult.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Detail/UltimateResult.php'); // Initialize the API client $api = new FinstatApi($apiUrl, $apiKey, $privateKey, $stationId, $stationName, $timeout); // Get basic company information $ico = '35757442'; // Example company ICO $basicInfo = $api->Request($ico, "basic", $json); // Get detailed company information $detailInfo = $api->Request($ico, "detail", $json); // Get extended company information $extendedInfo = $api->Request($ico, "extended", $json); // Get ultimate (most comprehensive) company information $ultimateInfo = $api->Request($ico, "ultimate", $json); // Search for companies by name $autocompleteResults = $api->RequestAutoComplete('volkswagen', $json); // Check API usage limits $limits = $api->GetAPILimits();
Czech Companies API
<?php require_once(__DIR__ . '/../FinStatApiCZ/FinstatApi.php'); require_once(__DIR__ . '/../FinStat.Client/ViewModel/AutoCompleteResult.php'); require_once(__DIR__ . '/../FinStatCZ.ViewModel/Detail/DetailResult.php'); require_once(__DIR__ . '/../FinStatCZ.ViewModel/Detail/PremiumCZResult.php'); // Initialize the API client for Czech companies $apiUrl = 'https://cz.finstat.sk/api/'; $api = new FinstatApiCz\FinstatApi($apiUrl, $apiKey, $privateKey, $stationId, $stationName, $timeout); // Get basic company information $ico = '48207349'; // Example Czech company ICO $basicInfo = $api->Request($ico, "basic", $json); // Get detailed company information $detailInfo = $api->Request($ico, "detail", $json); // Get premium company information $premiumInfo = $api->Request($ico, "premiumcz", $json); // Search for companies by name $autocompleteResults = $api->RequestAutoComplete('volkswagen', $json);
Monitoring API
<?php require_once(__DIR__ . '/../FinStatApi/FinstatMonitoringApi.php'); require_once(__DIR__ . '/../FinStat.Client/ViewModel/Monitoring/MonitoringReportResult.php'); // Initialize the monitoring API client $api = new FinstatMonitoringApi($apiUrl, $apiKey, $privateKey, $stationId, $stationName, $timeout); // Add a company to monitoring by ICO $ico = '35757442'; $success = $api->AddToMonitoring($ico, $json); // Add a date to monitoring $date = "1.1.1991"; $success = $api->AddDateToMonitoring($date, $json); // Get list of monitored ICOs $monitoredList = $api->MonitoringList($json); // Get list of monitored dates $monitoredDateList = $api->MonitoringDateList($json); // Remove a company from monitoring $success = $api->RemoveFromMonitoring($ico, $json); // Remove a date from monitoring $success = $api->RemoveDateFromMonitoring($date, $json); // Get monitoring reports $reports = $api->MonitoringReport($json); $dateReports = $api->MonitoringDateReport($json);
Daily Diff API
<?php require_once(__DIR__ . '/../FinStatApi/FinstatDailyDiffApi.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Diff/DailyDiff.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Diff/DailyDiffList.php'); // Initialize the daily diff API client $api = new FinstatDailyDiffApi($apiUrl, $apiKey, $privateKey, $stationId, $stationName, $timeout); // Get list of available daily diffs $list = $api->RequestListOfDailyDiffs($json); // Download a specific daily diff file $file = "example_file.zip"; $data = $api->DownloadDailyDiffFile($file, $file);
Bankruptcy and Restructuring API
require_once(__DIR__ . '/../FinStatApi/FinstatBankruptcyRestructuringApi.php'); require_once(__DIR__ . '/../FinStat.ViewModel/Deadline.php'); require_once(__DIR__ . '/../FinStat.ViewModel/BankuptcyRestructuing/BankruptcyRestructuring.php'); // Initialize the daily diff API client $api = new FinstatBankruptcyRestructuringApi($apiUrl, $apiKey, $privateKey, $stationId, $stationName, $timeout); // Get list of person bankruptcy proceedings $list = $api->RequestPersonBankruptcyProceedings($name, $surname, $dateOfBirth, $json); // Get list of company bankruptcy and restructuring proceedings by ico $list = $api->RequestCompanyBankruptcyRestructuring($ico, null, $dateOfBirth, $json); // Get list of company bankruptcy and restructuring proceedings by name $list = $api->RequestCompanyBankruptcyRestructuring(null, $name, $dateOfBirth, $json);
Response Data
The API returns structured data objects containing company information. Depending on the request type, different data fields are available:
Basic Fields (available in all responses)
Ico
- Company IDName
- Company nameStreet
- Street addressStreetNumber
- Street numberZipCode
- ZIP/Postal codeCity
- CityDistrict
- DistrictRegion
- RegionCountry
- CountryUrl
- Finstat URL for the company
Additional Fields (available in detail/extended/ultimate responses)
- Legal form information
- Registration details
- Financial data (revenue, profit)
- Credit scores
- Warning indicators
- Bank accounts
- Employee counts
- Ownership information
- Statutory representatives
- Web pages
- And many more...
Error Handling
The API client throws exceptions in case of errors. Make sure to handle these appropriately:
try { $response = $api->Request($ico, "basic", $json); } catch (Exception $e) { // Handle error $code = $e->getCode(); $message = $e->getMessage(); $data = $e->getData(); }
API Limits
You can check your current API usage limits:
$limits = $api->GetAPILimits(); // Example output format: // [ // 'daily' => ['current' => 10, 'max' => 100], // 'monthly' => ['current' => 50, 'max' => 1000] // ]
Requirements
- PHP 7.1 or higher
- cURL extension
- Zlib extension
- DOM extension
- JSON extension (for JSON responses)
- SimpleXML extension (for XML responses)
License
MIT License
Support
For API access and keys, please contact info@finstat.sk