Discover how to integrate FirmAPI into your systems
FirmAPI provides a simple API for accessing Slovak company data. Below you'll find practical integration examples.
Use cases by software type
Concrete scenarios with a sample call and the list of registers each one uses.
Company autocomplete
The user types three letters of a company name and picks from the list. Address, company ID and tax number fill themselves in. It is the simplest FirmAPI deployment and the one users appreciate most.
Signup and onboarding forms
Signing up a business customer is usually the longest form in an application. Filling in the rest from the company ID shortens it to one field and gives you data that matches the register.
Invoicing software
Invoicing software needs two things: correct customer details and confidence that invoicing them makes sense. FirmAPI covers both in a single call.
Accounting software
An accounting practice manages tens to hundreds of clients and for each one needs current identification details, an overview of filed statements and confidence that nothing changed without its knowledge.
Legal software
In legal practice what matters is who the counterparty is, who may sign for it and whether proceedings are under way against it. All three answers live in public registers – just scattered.
Verifying contract party details
The details in a contract header tend to be copied from the previous contract. A year later they may no longer be right – and a misidentified contracting party is a problem that surfaces in a dispute.
Creditworthiness and company health
The question "can I supply this company on account?" has a concrete answer assembled from public data. It is not a score from a black box – it is a list of facts you can verify.
KYB and AML checks
Know Your Business means knowing who stands behind a company and whether it is on a sanctions list. Both questions can be answered automatically – from the register of public sector partners and from the sanctions lists.
CRM and database enrichment
A contact database starts ageing the moment it is created. Enrichment from the registers restores its accuracy and adds information the sales rep had no way of knowing at entry.
Batch processing and exports
When you need to process thousands of companies at once, calling the endpoint in a loop is the wrong route. Batch processing accepts the whole list and prepares the result for collection.
How we deliver the data
Webhooks
A webhook reverses the direction of communication. Instead of you asking periodically whether anything changed, we tell you ourselves – at the moment it happens.
Email notifications
Not every change has to reach a system. An accountant, a lawyer or a sales rep often cares about a change at one specific company – and email is the right channel for that.
Exports and formats
Data from the API is often needed by someone who does not read JSON. The same company profile is available in three formats, depending on where it is going.
Company search with autocomplete
The /search/autocomplete endpoint is ideal for Select2, typeahead, and similar components. Returns results compatible with popular JavaScript libraries.
Select2 integration
Complete example of integrating with the Select2 library for company search.
import { FirmApi } from 'firmapi';
const client = new FirmApi('YOUR_API_KEY');
// Initialize Select2 with FirmAPI SDK
$('#company-search').select2({
ajax: {
transport: async (params, success, failure) => {
try {
const data = await client.search.autocomplete(params.data.q);
success(data);
} catch (e) { failure(e); }
},
data: (params) => ({ q: params.term }),
processResults: (data) => ({ results: data.results })
},
minimumInputLength: 2
});
Get company data by IČO
The most common use case - retrieving complete company data by its IČO (registration number).
import { FirmApi } from 'firmapi';
const client = new FirmApi('YOUR_API_KEY');
// Fetch company by IČO
const company = await client.companies.byIco('51636549');
console.log(company.name); // "Version Two s. r. o."
// Search by name
const results = await client.search.byName('Version Two');
console.log(results.data); // [{ ico: "51636549", name: "..." }]
use FirmApi\Client;
$client = new Client('YOUR_API_KEY');
// Fetch company by IČO
$company = $client->companies->byIco('51636549');
echo $company['name']; // "Version Two s. r. o."
echo $company['city']; // "Bratislava"
// Search by name
$results = $client->search->byName('Version Two');
foreach ($results['data'] as $item) {
echo $item['ico'] . ' - ' . $item['name'];
}
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<Company> getCompanyByIco(String ico) async {
final response = await http.get(
Uri.parse('https://firmapi.sk/v1/company/ico/$ico'),
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
},
);
final json = jsonDecode(response.body);
return Company.fromJson(json['data']);
}
curl -X GET "https://firmapi.sk/v1/company/ico/51636549" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
CRM system integration
Automatically populate customer data in your CRM system. Just enter the IČO and all company details will be filled in automatically.
- Eliminate manual data entry
- Reduce transcription errors
- Current data directly from Business Register
- Automatic IČO validation
CRM form example
E-shop invoice automation
When entering an IČO, billing details are automatically filled in. Ideal for B2B e-shops and services.
- Faster checkout for business customers
- Accurate billing details without errors
- Automatic company existence verification
- Support for DIČ and IČ DPH (higher tiers)
use FirmApi\Client;
use FirmApi\Exceptions\ApiException;
public function loadBillingData(Request $request)
{
$client = new Client(config('firmapi.key'));
try {
$company = $client->companies->byIco($request->ico);
return response()->json([
'name' => $company['name'],
'address' => $company['address'],
'dic' => $company['tax']['dic'] ?? null,
'ic_dph' => $company['tax']['ic_dph'] ?? null,
]);
} catch (ApiException $e) {
return response()->json(['error' => 'Company not found'], 404);
}
}
Start using FirmAPI
Sign up for free and get your API key. The Free plan includes 20 requests per month.
Get started free