Hoppa till innehåll
Menu and API reference

API reference

Search companies

Search and filter companies by location, industry, size and financial values.

GET /api/v1/companies
Access
Scope companies
Cost
1 unit per row in the response

Combine registry data and financial measures in one selection. Range filters must use the matching sort order: revenue_min, for example, requires that you also send sort=revenue. That keeps response times stable even for large selections.

Choose a sort order

ValueOrderCan be combined with
revenue (default)Revenue, descendingrevenue_min / revenue_max
employeesEmployee count, descendingemployees_min / employees_max
registeredRegistration date, descendingregistered_after / registered_before
nameCompany name, A to ZNo range filters

Parameters

Parameters not marked as required may be omitted.

NameTypeWhat the field does
sort
string Determines the ordering, and which range filters you may use. Default: revenue
limit
integer How many rows the page should contain, from 1 to 100. Default: 25
cursor
string Continue from next_cursor in the previous response.
active
boolean Set to true for active companies, or false for the rest.
status
string active, dissolved, inactive.
legal_form
string Legal form, e.g. AB (limited company), HB (trading partnership), EK (co-operative).
city
string Match an exact postal town. Case is ignored.
county
string The two-digit county code from Statistics Sweden, for example 14 for Västra Götaland.
municipality
string The four-digit municipality code from Statistics Sweden.
sni
string Match an exact five-digit SNI industry code.
employees_class
string The two-digit employee size class from Statistics Sweden.
has_financials
boolean Restrict the selection to companies with at least one set of accounts.
listed
boolean Restrict the selection to listed companies.
revenue_min / revenue_max
integer Lower or upper bound for revenue in SEK. Requires sort=revenue.
employees_min / employees_max
integer Lower or upper bound for employee count. Requires sort=employees.
registered_after / registered_before
date Registered after or before an ISO date. Requires sort=registered.

Request and response

The example shows a request against the production environment and a successful response.

Request
curl "https://firmainfo.se/api/v1/companies?county=14&revenue_min=100000000&limit=2" \
  -H "Authorization: Bearer $FIRMAINFO_API_KEY"
Response
{
  "data": [
    {
      "id": "5560125790",
      "name": "Aktiebolaget Volvo",
      "registration_number": "556012-5790",
      "legal_form": "AB",
      "status": "active",
      "city": "GÖTEBORG",
      "sni_primary": "70100",
      "registration_date": "1915-05-05",
      "financials_latest": {
        "fiscal_year_end": "2024-12-31",
        "revenue": 526816000000,
        "profit": 55215000000,
        "employees": "97923.00"
      }
    }
  ],
  "has_more": true,
  "next_cursor": "eyJ2IjoxLCJzIjoicmV2ZW51ZSIsImYiOiI4YzE..."
}

Good to know

  • An unknown query parameter returns 422, so a typo cannot slip through unnoticed.
  • The cursor is signed and bound to your filters. If the filters change mid-pagination you get 400 cursor_conflict.
  • A selection can be paged through for at most 400 pages. Contact us if you need a larger, recurring extract.

Continue here