Back to Documentation

SDKs & Libraries

Official client libraries to integrate FirmAPI into your application in minutes.

PHP SDK

PHP 8.1+

Official PHP client for FirmAPI. Requires PHP 8.1+ and supports Laravel auto-discovery.

Installation

composer require firmapi/php-sdk

Quick Start

Lookup by ICO

use FirmApi\Client;

// Create a client with your API key
$client = new Client('your-api-key');

// Look up a company by ICO
$company = $client->company->byIco('51636549');

echo $company->name;         // "Version Two s. r. o."
echo $company->legal_form;    // "Spolocnost s rucenim obmedzenym"
echo $company->address->city; // "Bratislava"

Search

// Search by name
$results = $client->search->byName('Version Two');

foreach ($results as $company) {
    echo $company->ico . ' - ' . $company->name;
}

// Autocomplete (Select2-compatible)
$suggestions = $client->search->autocomplete('vers', limit: 5);

Batch Lookup

// Batch lookup by ICO (Starter plan+)
$batch = $client->batch->byIco([
    '51636549',
    '12345678',
    '87654321',
]);

echo $batch->found;     // 2
echo $batch->not_found; // 1

All Available Methods

Method Description Returns
$client->company->byIco($ico) Look up a company by ICO (registration number) Company
$client->company->byId($id) Look up a company by internal ID Company
$client->company->byOrsrId($id) Look up a company by ORSR ID Company
$client->search->byName($name) Search companies by name Company[]
$client->search->byIco($ico) Search companies by partial ICO Company[]
$client->search->autocomplete($q) Autocomplete search (Select2-compatible) AutocompleteResult[]
$client->search->advanced([...]) Advanced multi-field search Company[]
$client->batch->byIco([...]) Starter+ Batch lookup by multiple ICOs BatchResult
$client->batch->byNames([...]) Starter+ Batch lookup by multiple names BatchResult
$client->account->usage() Get current period usage statistics Usage
$client->account->quota() Get remaining quota for current period Quota
$client->account->history($days) Get usage history UsageHistory

JavaScript / TypeScript SDK

TypeScript

Official JavaScript client for FirmAPI. Works in Node.js and modern browsers with full TypeScript support.

Installation

npm install firmapi

Quick Start

Lookup by ICO

import { FirmApi } from 'firmapi';

// Create a client with your API key
const client = new FirmApi('your-api-key');

// Look up a company by ICO
const company = await client.company.byIco('51636549');

console.log(company.name);         // "Version Two s. r. o."
console.log(company.legalForm);    // "Spolocnost s rucenim obmedzenym"
console.log(company.address.city); // "Bratislava"

Search

// Search by name
const results = await client.search.byName('Version Two');

for (const company of results) {
    console.log(`${company.ico} - ${company.name}`);
}

// Autocomplete (Select2-compatible)
const suggestions = await client.search.autocomplete('vers', { limit: 5 });

Batch Lookup

// Batch lookup by ICO (Starter plan+)
const batch = await client.batch.byIco([
    '51636549',
    '12345678',
    '87654321',
]);

console.log(batch.found);    // 2
console.log(batch.notFound); // 1

All Available Methods

Method Description Returns
client.company.byIco(ico) Look up a company by ICO (registration number) Promise<Company>
client.company.byId(id) Look up a company by internal ID Promise<Company>
client.company.byOrsrId(id) Look up a company by ORSR ID Promise<Company>
client.search.byName(name) Search companies by name Promise<Company[]>
client.search.byIco(ico) Search companies by partial ICO Promise<Company[]>
client.search.autocomplete(q) Autocomplete search (Select2-compatible) Promise<AutocompleteResult[]>
client.search.advanced({...}) Advanced multi-field search Promise<Company[]>
client.batch.byIco([...]) Starter+ Batch lookup by multiple ICOs Promise<BatchResult>
client.batch.byNames([...]) Starter+ Batch lookup by multiple names Promise<BatchResult>
client.account.usage() Get current period usage statistics Promise<Usage>
client.account.quota() Get remaining quota for current period Promise<Quota>
client.account.history(days) Get usage history Promise<UsageHistory>