API Documentation
Start using JARS.LT API in minutes
API Documentation
Start using JARS.LT API in minutes
Authentication#
All API requests require an API key. Add it as x-api-key header:
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/companies/search?q=UAB
Base URL#
All API endpoints start with:
https://api.jars.lt/api/v1
For Estonian data, you can also use:
https://api.jars.ee/api/v1
When using api.jars.ee, the default country is Estonia (ee). On api.jars.lt, the default is Lithuania (lt).
Node.js SDK#
Official TypeScript/JavaScript SDK for easy integration with JARS.LT API.
Installation
npm install @jars-lt/sdkUsage
import { JarsClient } from '@jars-lt/sdk';
const client = new JarsClient({
apiKey: 'your_api_key_here'
});
// Search Lithuanian companies
const companies = await client.searchCompanies({ q: 'UAB Maxima' });
// Search Estonian companies
const eeCompanies = await client.searchCompanies({ q: 'Bolt', country: 'ee' });
// Get company by code
const company = await client.getCompany('123456789');
// Get Estonian company
const eeCompany = await client.getCompany('14532901', { country: 'ee' });
// Get company financial reports
const financials = await client.getCompanyFinancials('123456789');
// Search addresses (Lithuania only)
const addresses = await client.searchAddresses({ q: 'vilnius gedimino' });
// Normalize address (with typos)
const normalized = await client.normalizeAddress('gedimno pr 28 vilnus');
// Check workday
const workday = await client.checkWorkday('2024-12-25');
// Add workdays
const result = await client.addWorkdays('2024-01-15', 5);View on npmMCP (Model Context Protocol)#
JARS.LT supports Model Context Protocol (MCP) — an open standard for AI assistants to interact with external data sources. Use our MCP endpoint to query Lithuanian and Estonian company data directly from ChatGPT, Claude, and other AI tools.
Features
- Search companies by name or registration code
- Get detailed company information and financials
- Query economic statistics and rankings
- Normalize and search addresses
Endpoint
https://api.jars.lt/mcp
Claude Desktop / Claude Code Configuration
Add the following to your Claude configuration file:
{
"mcpServers": {
"jars": {
"url": "https://api.jars.lt/mcp",
"headers": {
"x-api-key": "your_api_key_here"
}
}
}
}OAuth 2.0 Authentication
For AI clients that support OAuth (like ChatGPT), use the standard OAuth discovery endpoints:
/.well-known/oauth-authorization-server/.well-known/oauth-protected-resource
We support Dynamic Client Registration (RFC 7591), allowing AI clients to automatically register without manual configuration.
Available Tools
| Tool | Description | Auth |
|---|---|---|
| search_companies | Search companies by name or code | API Key |
| get_company | Get company details by registration code | API Key |
| get_company_financials | Get company financial reports | API Key |
| get_company_sodra | Get SODRA data (employees, wages) | API Key |
| get_rankings | Get top companies by metric | Public |
| get_industry_stats | Get statistics by industry (EVRK) | Public |
| search_addresses | Search addresses by query | API Key |
| normalize_address | Parse and normalize address string | API Key |
Specification
Search Companies#
/companies/searchSearch for companies by name or code. Supports both Lithuanian and Estonian companies.
Parameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Search text (name or code) |
| limit | number | Number of results (max: 100, default: 20) |
| offset | number | Skip results (default: 0) |
| country | string | Country: "lt" (Lithuania) or "ee" (Estonia). Default depends on domain. |
Example
# Search Lithuanian companies (default on api.jars.lt) curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/search?q=Maxima&limit=5" # Search Estonian companies curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/search?q=Bolt&country=ee" # Estonian search via api.jars.ee (country=ee by default) curl -H "x-api-key: your_api_key_here" \ "https://api.jars.ee/api/v1/companies/search?q=Bolt"
Response
{
"results": [
{
"code": "123456789",
"name": "UAB Pavyzdys",
"address": "Gedimino pr. 1, Vilnius",
"legalForm": "UAB",
"status": "ACTIVE",
"registrationDate": "2020-01-15T00:00:00.000Z"
}
],
"total": 1,
"limit": 5,
"offset": 0
}Get Company by Code#
/companies/:codeGet detailed information about a company by registration code. Supports Lithuanian and Estonian companies.
Parameters
| Parameter | Type | Description |
|---|---|---|
| code | string | Company registration code |
| country | string | Country: "lt" (Lithuania) or "ee" (Estonia). Default depends on domain. |
Example
# Lithuanian company curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/111111111" # Estonian company curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/14532901?country=ee" # Estonian company via api.jars.ee (country=ee by default) curl -H "x-api-key: your_api_key_here" \ "https://api.jars.ee/api/v1/companies/14532901"
Response
{
"code": "123456789",
"name": "UAB Pavyzdys",
"address": "Gedimino pr. 1, Vilnius",
"legalForm": "UAB",
"status": "ACTIVE",
"registrationDate": "2020-01-15T00:00:00.000Z",
"capital": 10000,
"currency": "EUR",
"pvmCode": "LT123456789",
"pvmRegistered": true
}Get Company Financials#
/companies/:code/financialsGet company financial reports (balance sheet and P&L) by year. Supports Lithuanian and Estonian companies.
Parameters
| Parameter | Type | Description |
|---|---|---|
| code | string | Company registration code |
| year | number | Year (optional, if not specified - returns all years) |
| limit | number | Number of results (default: 10, max: 50) |
| country | string | Country: "lt" (Lithuania) or "ee" (Estonia). Default depends on domain. |
Example
# Lithuanian company financials curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/123456789/financials" # Get specific year curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/123456789/financials?year=2024" # Estonian company financials curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/companies/14532901/financials?country=ee" # Estonian company via api.jars.ee curl -H "x-api-key: your_api_key_here" \ "https://api.jars.ee/api/v1/companies/14532901/financials"
Response
Returns financial data: equity, assets, liabilities, revenue, and profit.
{
"companyCode": "123456789",
"companyName": "UAB Pavyzdys",
"financials": [
{
"companyCode": "123456789",
"year": 2024,
"periodStart": "2024-01-01T00:00:00.000Z",
"periodEnd": "2024-12-31T00:00:00.000Z",
"balance": {
"equity": 150000,
"longTermAssets": 80000,
"shortTermAssets": 120000,
"liabilities": 50000,
"totalAssets": 200000
},
"profitLoss": {
"revenue": 500000,
"profitBeforeTax": 75000,
"netProfit": 60000
}
}
],
"availableYears": [2024, 2023, 2022]
}Search Addresses#
/addresses/searchSearch for streets, settlements, and municipalities. Supports multi-word search (e.g., "kaunas basanavi" or "vilnius centro").
Parameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Search text (street, settlement, or municipality name) |
| limit | number | Number of results (max: 100, default: 20) |
| offset | number | Skip results (default: 0) |
Example
curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/addresses/search?q=kaunas+basanavi&limit=5"
Response
Results are grouped by type: streets, settlements, municipalities. Each group includes relevant location data.
{
"streets": [
{
"code": 1231645,
"name": "J. Basanavičiaus",
"typeAbbr": "al.",
"settlementId": "58437361-d62a-4714-9b74-f07ae0b9d66b",
"buildings": [
{ "number": "3", "postalCode": "LT-50282" },
{ "number": "4", "postalCode": "LT-50290" }
],
"settlement": {
"name": "Kaunas",
"typeAbbr": "m."
}
}
],
"settlements": [],
"municipalities": [],
"total": 1,
"limit": 5,
"offset": 0
}Normalize Address#
/addresses/normalizeConvert an arbitrary address string (with possible typos) to structured address components. Uses fuzzy matching to handle spelling errors.
Request Body
| Parameter | Type | Description |
|---|---|---|
| address | string | Address string to normalize (e.g., "gedimno pr 28 vilnus") |
| limit | number | Maximum results to return (default: 5, max: 20) |
Example
curl -X POST -H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"address": "gedimno pr 28 vilnus", "limit": 3}' \
https://api.jars.lt/api/v1/addresses/normalizeResponse
Returns matching addresses with confidence scores. Higher confidence indicates better match.
{
"results": [
{
"confidence": 0.87,
"formatted": "Gedimino pr. 28, Vilnius, Vilniaus m. sav., LT-01104",
"components": {
"street": { "code": 105641, "name": "Gedimino", "type": "prospektas", "typeAbbr": "pr." },
"building": { "number": "28", "postalCode": "LT-01104" },
"settlement": { "code": 101580, "name": "Vilnius", "type": "miestas", "typeAbbr": "m." },
"municipality": { "code": 58, "name": "Vilniaus m.", "typeAbbr": "sav." },
"county": { "code": 9, "name": "Vilniaus" },
"postalCode": "LT-01104"
}
}
],
"query": "gedimno pr 28 vilnus",
"parsed": {
"tokens": ["gedimno", "vilnus"],
"building": "28",
"streetType": "pr."
}
}Get Location by Postal Code#
/addresses/postal/:codeGet county, municipality, settlement, and streets by postal code. Supports 5-digit format (e.g., "54306" or "LT-54306").
Parameters
| Parameter | Type | Description |
|---|---|---|
| code | string | Postal code (5 digits, with or without "LT-" prefix) |
Example
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/addresses/postal/54306
Response
Returns all streets with this postal code, along with settlement, municipality, and county information.
{
"postalCode": "LT-54306",
"streets": [
{
"code": 1873961,
"name": "Viesulo",
"type": "gatvė",
"typeAbbr": "g."
}
],
"settlement": {
"code": 88888,
"name": "Kaunas",
"type": "miestas",
"typeAbbr": "m."
},
"municipality": {
"code": 15,
"name": "Kauno m."
},
"county": {
"code": 4,
"name": "Kauno"
}
}Check Workday#
/workdays/checkCheck if a specific date is a workday in Lithuania. Returns information about weekends and Lithuanian public holidays.
Parameters
| Parameter | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD format |
Example
curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/workdays/check?date=2024-12-25"
Response
{
"date": "2024-12-25",
"dayOfWeek": "Wednesday",
"isWorkday": false,
"isWeekend": false,
"isHoliday": true,
"holidayName": "Kalėdos",
"holidayNameEn": "Christmas Day"
}Add Workdays#
/workdays/addAdd a number of workdays to a given date, skipping weekends and Lithuanian public holidays. Supports negative values to subtract workdays.
Parameters
| Parameter | Type | Description |
|---|---|---|
| date | string | Start date in YYYY-MM-DD format |
| days | number | Number of workdays to add (can be negative) |
Example
curl -H "x-api-key: your_api_key_here" \ "https://api.jars.lt/api/v1/workdays/add?date=2024-12-20&days=5"
Response
{
"startDate": "2024-12-20",
"workdaysAdded": 5,
"resultDate": "2024-12-30",
"resultIsWorkday": true,
"skippedDays": [
{ "date": "2024-12-21", "reason": "weekend" },
{ "date": "2024-12-22", "reason": "weekend" },
{ "date": "2024-12-25", "reason": "holiday", "holidayName": "Kalėdos" },
{ "date": "2024-12-26", "reason": "holiday", "holidayName": "Antra Kalėdų diena" },
{ "date": "2024-12-28", "reason": "weekend" },
{ "date": "2024-12-29", "reason": "weekend" }
]
}Get Inflation Data#
/statistics/inflationGet pre-aggregated inflation and economic indicators for Lithuania: HICP (consumer prices), PPI (producer prices), unemployment rate, and price changes by category. Data sourced from Eurostat. No authentication required.
Parameters
| Parameter | Type | Description |
|---|---|---|
from | number | Filter from year (optional, e.g. 2020) |
to | number | Filter to year (optional, e.g. 2024) |
Example
curl https://api.jars.lt/api/v1/statistics/inflation?from=2020
Response
Returns HICP monthly index/rates, annual averages, category breakdowns (food, energy, transport, housing), PPI, and unemployment. All HICP values use 2015=100 base.
{
"hicp": {
"monthly": [
{ "date": "2020-01", "year": 2020, "month": 1, "index": 107.4, "yoy": 2.3, "mom": -0.5 }
],
"annual": [
{ "year": 2020, "avgIndex": 108.4, "avgRate": 1.1 }
]
},
"categories": {
"latest": {
"date": "2025-12",
"items": {
"total": { "index": 131.2, "yoy": 2.1, "name": "All items" },
"food": { "index": 139.8, "yoy": 1.5, "name": "Food and non-alcoholic beverages" }
}
},
"timeSeries": [
{ "date": "2020-01", "total": 2.3, "food": 3.1, "energy": -1.2, "transport": 0.5, "housing": 1.8 }
]
},
"ppi": {
"monthly": [{ "date": "2020-01", "index": 98.2, "yoy": -2.1 }]
},
"unemployment": {
"monthly": [{ "date": "2020-01", "rate": 6.4 }]
},
"meta": {
"lastUpdate": "2025-12-15T10:00:00Z",
"latestDataPoint": "2025-12",
"source": "Eurostat",
"availableYears": [1996, 1997, "...", 2025]
}
}Get Usage Statistics#
/usageGet your API key statistics and remaining quota.
Example
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/usage
Response
rateLimit indicates maximum requests per second.
{
"dataDelay": 0,
"limit": 50000,
"plan": "PROFESSIONAL",
"rateLimit": 300,
"remaining": 49997,
"requestCount": 3,
"resetDate": "2025-11-10T14:20:13.260Z",
"webhooksEnabled": true
}List Invoices#
/api/v1/invoicesGet a list of all your subscription invoices. Includes payment status, amounts, and links to PDF/UBL formats.
Invoice API requests do not count towards your monthly quota.
Example
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/invoices
Response
{
"invoices": [
{
"stripeInvoiceId": "in_1abc...",
"number": "INV-0091",
"status": "paid",
"currency": "EUR",
"subtotal": 500,
"tax": 105,
"total": 605,
"created": "2026-02-12T07:46:18.000Z",
"paidAt": "2026-02-12T07:46:21.000Z",
"customerName": "UAB Example",
"customerEmail": "info@example.lt",
"customerTaxId": "LT123456789",
"stripeHostedInvoiceUrl": "https://invoice.stripe.com/...",
"stripeInvoicePdfUrl": "https://pay.stripe.com/.../pdf"
}
],
"count": 1
}Get Invoice#
/api/v1/invoices/:invoiceIdGet detailed information about a specific invoice by its Stripe invoice ID.
Example
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/invoices/in_1abc123
Download Invoice (UBL)#
/api/v1/invoices/:invoiceId/ublDownload invoice in UBL 2.1 XML format, compliant with Peppol BIS Billing 3.0 standard.
Peppol BIS Billing 3.0
UBL invoices are compliant with the European e-invoicing standard EN 16931 and can be used for automated invoice processing in accounting systems.
Example
curl -H "x-api-key: your_api_key_here" \ https://api.jars.lt/api/v1/invoices/in_1abc123/ubl
Response
Returns XML document with Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>INV-0091</cbc:ID>
<cbc:IssueDate>2026-02-12</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>...</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>...</cac:AccountingCustomerParty>
<cac:TaxTotal>...</cac:TaxTotal>
<cac:LegalMonetaryTotal>...</cac:LegalMonetaryTotal>
<cac:InvoiceLine>...</cac:InvoiceLine>
</Invoice>Rate Limits#
API request limits depend on your plan:
- Free: 100 requests per month
- Starter: 5,000 requests per month
- Professional: 50,000 requests per month
- Enterprise: 1,000,000 requests per month
When exceeding the limit, you will receive 429 Too Many Requests response.
Error Codes#
| Code | Description |
|---|---|
| 400 | Invalid parameters |
| 401 | Invalid API key |
| 404 | Company not found |
| 429 | Request limit exceeded |
| 500 | Server error |
Need Help?#
If you have questions or need help integrating the API, contact us:
Contact →