API Endpoints
All available endpoints with detailed documentation
Search companies by name (case-insensitive partial match). Returns paginated results with company details.
- q string
- limit int (default: 20)
- offset int (default: 0)
Find the most likely company domain using Serper search. Returns the top result and extracted domain.
- q string
Search procurement notices by company name (case-insensitive partial match).
- q string
- limit int (default: 20)
- offset int (default: 0)
- full bool (default: false)
- role string (optional)
Get complete company data by registration code. Returns all available information including financial data.
- code string (8 digits)
Get company leaders by registration code. Returns the leaders payload stored for the company.
- code string (8 digits)
Search with multiple filters: name, status, location, and more. Advanced filtering capabilities.
- name string
- status string
- location string
Search multiple companies by registration codes in a single request. Efficient for batch operations.
- codes string[]
Get company name suggestions for autocomplete. Real-time suggestions as users type.
- q string
- limit int (default: 10)
Get row count estimates for all base tables across all schemas (fast, uses PostgreSQL stats).
Try it nowCheck API and database health status. Returns service availability and metrics.
Try it nowSearch Latvia companies by name (case-insensitive partial match). Returns paginated results.
- q string
- limit int (default: 20)
- offset int (default: 0)
Get complete Latvia company data by registration code. Returns all available information.
- code string
Get Latvia company financial statements by registration code, including company summary and paginated statement rows.
- code string (path)
- limit int (query, default: 20, max: 200)
- offset int (query, default: 0)
Get Latvia company income statements by registration code, enriched with filing metadata and paginated result rows.
- code string (path)
- limit int (query, default: 20, max: 200)
- offset int (query, default: 0)
Get a single Latvia income statement by statement ID.
- statement_id integer
Get Latvia company name suggestions for autocomplete. Real-time suggestions as users type.
- q string
- limit int (default: 10)
Search Lithuania legal entities by name (case-insensitive partial match). Returns paginated results.
- q string
- limit int (default: 20)
- offset int (default: 0)
- full bool (default: false)
Fetch Lithuania company data by registration code (ja_kodas).
- code string
Fetch Lithuania balance sheet rows by company code (ja_kodas). Returns paginated line items.
- ja_kodas string
- limit int (default: 100)
- offset int (default: 0)
Fetch Lithuania profit and loss rows by company code (ja_kodas). Returns paginated line items.
- ja_kodas string
- limit int (default: 100)
- offset int (default: 0)
Fetch Lithuania NGO by company code (ja_kodas).
- ja_kodas string
Code Examples
Get started quickly with these code snippets
# Search companies by name import requests # Basic search response = requests.get("http://localhost:5000/api/search", params={"q": "tech", "limit": 5} ) data = response.json() print(f"Found {data['total']} companies") # Lithuania legal entities search response = requests.get("http://localhost:5000/api/lithuania/search", params={"q": "uab", "limit": 5} ) lt_data = response.json() print(f"Found {lt_data['total']} LT entities") # Lithuania company by registration code response = requests.get("http://localhost:5000/api/lithuania/company/110005648") lt_company = response.json() print(lt_company) # Lithuania balance sheet by company code response = requests.get("http://localhost:5000/api/lithuania/balance-sheet", params={"ja_kodas": "110005648", "limit": 5} ) bs_data = response.json() print(f"Found {bs_data['total']} balance sheet rows") # Lithuania profit and loss by company code response = requests.get("http://localhost:5000/api/lithuania/profit-loss", params={"ja_kodas": "110005648", "limit": 5} ) pl_data = response.json() print(f"Found {pl_data['total']} profit & loss rows") # Lithuania NGO by company code response = requests.get("http://localhost:5000/api/lithuania/ngos", params={"ja_kodas": "303530932"} ) ngo_data = response.json() print(ngo_data) # Get company by registration code response = requests.get("http://localhost:5000/api/company/12345678") company = response.json() print(f"Company: {company['name']}") # Get company leaders by registration code response = requests.get("http://localhost:5000/api/leaders/12345678") leaders = response.json() print(leaders) # Get top domain for company name response = requests.get("http://localhost:5000/api/domains", params={"q": "kontorva"} ) domain_result = response.json() print(domain_result)
// Search companies using fetch API async function searchCompanies(query, limit = 20) { const response = await fetch( `/api/search?q=${query}&limit=${limit}` ); const data = await response.json(); return data; } // Get company by code async function getCompany(code) { const response = await fetch(`/api/company/${code}`); return await response.json(); } // Get company leaders by code async function getLeaders(code) { const response = await fetch(`/api/leaders/${code}`); return await response.json(); } // Get top domain for a company name async function getCompanyDomain(name) { const response = await fetch( `/api/domains?q=${encodeURIComponent(name)}` ); return await response.json(); }
# Search for companies curl "http://localhost:5000/api/search?q=tech&limit=5" # Search Lithuania legal entities by name curl "http://localhost:5000/api/lithuania/search?q=uab&limit=5" # Lithuania company by registration code curl "http://localhost:5000/api/lithuania/company/110005648" # Lithuania balance sheet by company code curl "http://localhost:5000/api/lithuania/balance-sheet?ja_kodas=110005648&limit=5" # Lithuania profit and loss by company code curl "http://localhost:5000/api/lithuania/profit-loss?ja_kodas=110005648&limit=5" # Lithuania NGO by company code curl "http://localhost:5000/api/lithuania/ngos?ja_kodas=303530932" # Search procurement notices by company name curl "http://localhost:5000/api/procurement?q=hiiumaa&limit=5" # Get company by registration code curl "http://localhost:5000/api/company/12345678" # Get company leaders by registration code curl "http://localhost:5000/api/leaders/12345678" # Get top domain for company name curl "http://localhost:5000/api/domains?q=kontorva" # Get API health status curl "http://localhost:5000/api/health" # Get all table row counts curl "http://localhost:5000/api/table-stats" # Bulk search with POST curl -X POST http://localhost:5000/api/bulk-search -H "Content-Type: application/json" -d '{"codes": ["12345678", "87654321"]}'
Features
Why choose our API for your Estonian company data needs
High Performance
Optimized PostgreSQL queries with JSONB indexing for sub-100ms response times.
Reliable & Secure
99.9% uptime with proper input validation and secure API practices.
Advanced Search
Full-text search, partial matching, and multiple filter options.
PostgreSQL JSONB
Flexible JSONB storage for complex company data structures.
RESTful API
Clean, consistent REST endpoints following best practices.
Real-time Data
Access to the latest Estonian company registry information.
Quick Start
Get up and running in minutes