Skip to main content
GET
/
brf
/
{companyId}
Get aggregated BRF data
curl --request GET \
  --url https://lens-api.tic.io/brf/{companyId} \
  --header 'x-api-key: <api-key>'
{
  "companyId": 123,
  "registrationNumber": "<string>",
  "legalName": "<string>",
  "purpose": "<string>",
  "registrationDate": "2023-11-07T05:31:56Z",
  "isCeased": true,
  "ceasedDate": "2023-11-07T05:31:56Z",
  "registeredOfficeMunicipalityCode": "<string>",
  "registeredOfficeCountyCode": "<string>",
  "sniCodes2007": "<string>",
  "sniCodes2025": "<string>",
  "isRegisteredForVAT": true,
  "isRegisteredForFTax": true,
  "isRegisteredForPayroll": true,
  "hasAuditor": true,
  "debtBalanceKr": 123,
  "paymentDefaultsCount": 123,
  "lastActivityStatus": "reorganizationOfBusinessCommenced",
  "lastStatusType": "reorganizationOfBusinessCommenced",
  "lastStatusDate": "2023-11-07T05:31:56Z",
  "lastStatusDescription": "<string>",
  "mailingAddress": {
    "street": "<string>",
    "postalCode": "<string>",
    "city": "<string>",
    "countryCodeAlpha3": "<string>",
    "careOf": "<string>"
  },
  "visitingAddress": {
    "street": "<string>",
    "postalCode": "<string>",
    "city": "<string>",
    "countryCodeAlpha3": "<string>",
    "careOf": "<string>"
  },
  "properties": [
    {
      "propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "propertyDesignation": "<string>",
      "registerArea": "<string>",
      "trakt": "<string>",
      "block": "<string>",
      "countyCode": "<string>",
      "municipalityCode": "<string>",
      "totalArea": 123,
      "registrationDate": "2023-11-07T05:31:56Z",
      "grantedShareNumerator": 123,
      "grantedShareDenominator": 123,
      "landTenureType": "lagfart",
      "mortgageSumKr": 123,
      "mortgageCount": 123,
      "latestTaxationValueKr": 123,
      "latestTaxationYear": 123,
      "propertyTypeCode": 123,
      "propertyTypeDescription": "<string>",
      "isJointlyTaxed": true
    }
  ],
  "addresses": [
    {
      "propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "addressObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "addressPlaceObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "buildingObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "buildingHouseNumber": "<string>",
      "streetName": "<string>",
      "streetType": "gatuadressomrade",
      "streetNumber": "<string>",
      "streetLetterSuffix": "<string>",
      "streetPositionSuffix": "<string>",
      "streetPositionSuffixNumber": 123,
      "postalCode": 123,
      "postalCity": "<string>",
      "municipalityCode": "<string>",
      "municipalityName": "<string>",
      "buildingPartsArea": 123,
      "buildingPartsResidentialArea": 123,
      "registeredResidentsCount": 123,
      "latitude": 123,
      "longitude": 123,
      "formattedAddress": "<string>"
    }
  ],
  "financials": [
    {
      "report": {
        "arrivalDate": "2023-11-07T05:31:56Z",
        "ruleset": "<string>",
        "code": "<string>",
        "periodStart": "2023-11-07T05:31:56Z",
        "periodEnd": "2023-11-07T05:31:56Z",
        "annualGeneralMeetingDate": "2023-11-07T05:31:56Z",
        "lastSignatureDate": "2023-11-07T05:31:56Z",
        "auditorFullName": "<string>",
        "auditCompanyName": "<string>",
        "hasAuditorRemark": true,
        "createdFromComparativeFigures": true,
        "isInterimReport": true,
        "isConsolidatedAccounts": true,
        "isExchange": true
      },
      "incomeStatement": {
        "netSales": 123,
        "changeInInventoriesAndWorkInProgress": 123,
        "workPerformedAndCapitalized": 123,
        "otherOperatingIncome": 123,
        "sumOperatingIncome": 123,
        "rawMaterialsAndConsumables": 123,
        "goodsForResale": 123,
        "otherExternalCosts": 123,
        "personnelCosts": 123,
        "depreciationAmortisationIntangibleTangible": 123,
        "depreciationAssetsBeyondNormal": 123,
        "otherOperatingExpenses": 123,
        "sumOperatingExpenses": 123,
        "operatingProfitOrLoss": 123,
        "profitOrLossParticipationsInGroup": 123,
        "profitOrLossAssociatedCompanies": 123,
        "profitOrLossCompaniesOwnershipInterest": 123,
        "profitOrLossOtherFinancialFixedAssets": 123,
        "otherInterestIncomeAndSimilar": 123,
        "amortisationFinancialFixedAssetsAndCurrentInvestments": 123,
        "interestExpensesAndSimilar": 123,
        "sumFinancialItems": 123,
        "profitAfterFinancialItems": 123,
        "madeGroupContributions": 123,
        "receivedGroupContributions": 123,
        "changeAccrualFundReversal": 123,
        "changeAccrualFundDeposition": 123,
        "changeExcessDepreciation": 123,
        "appropriations": 123,
        "resultBeforeTaxes": 123,
        "tax": 123,
        "profitOrLoss": 123
      },
      "balanceSheet": {
        "concessionsPatentRights": 123,
        "goodwill": 123,
        "sumIntangibleFixedAssets": 123,
        "plantMachineryAndEquipment": 123,
        "equipmentToolsFixturesAndFittings": 123,
        "landsAndBuildings": 123,
        "improvementExpensesElseProperty": 123,
        "ongoingNewFacilitiesAndAdvancesTangibleFixedAssets": 123,
        "otherTangibleFixedAssets": 123,
        "sumTangibleFixedAssets": 123,
        "participationsInGroup": 123,
        "participationsInAssociatedCompanies": 123,
        "ownershipInterestInOtherCompanies": 123,
        "otherLongTermSecurities": 123,
        "loansToPartnersOrRelatedParties": 123,
        "sumFinancialFixedAssets": 123,
        "sumTotalFixedAssets": 123,
        "inventoriesRawMaterialsAndSupplies": 123,
        "stockReadyFinishedGoods": 123,
        "advancePaymentsSuppliers": 123,
        "sumInventoriesWorkInProgressAdvancePayments": 123,
        "accruedExpensesPrepaidIncome": 123,
        "accountsReceivable": 123,
        "groupCompaniesReceivable": 123,
        "associatedCompaniesReceivable": 123,
        "earnedNotInvoicedRevenue": 123,
        "otherCurrentReceivables": 123,
        "sumCurrentReceivables": 123,
        "longTermGroupReceivables": 123,
        "longTermAssociatedCompaniesReceivables": 123,
        "otherLongTermReceivables": 123,
        "otherCurrentInvestments": 123,
        "sumCurrentInvestments": 123,
        "cashAndCashEquivalents": 123,
        "cashAndCashEquivalentsExcl": 123,
        "totalCurrentAssets": 123,
        "totalAssets": 123,
        "shareCapital": 123,
        "sharePremiumReserve": 123,
        "revaluationReserve": 123,
        "accrualFund": 123,
        "sumUntaxedReserves": 123,
        "sumRestrictedEquity": 123,
        "accumulatedProfit": 123,
        "profitForTheYear": 123,
        "sumTotalUnrestrictedEquity": 123,
        "sumEquity": 123,
        "longTermLiabilitiesGroup": 123,
        "longTermLiabilitiesBondLoan": 123,
        "longTermLiabilitiesOverdraftFacility": 123,
        "longTermLiabilitiesToCreditInstitutions": 123,
        "otherLongTermLiabilities": 123,
        "sumLongTermLiabilities": 123,
        "totalEquityAndLiabilities": 123,
        "shortTermLiabilitiesOverdraftFacility": 123,
        "shortTermLiabilitiesToCreditInstitutions": 123,
        "accountsPayable": 123,
        "advancePaymentsFromCustomers": 123,
        "shortTermLiabilitiesGroup": 123,
        "shortTermLiabilitiesTaxes": 123,
        "otherShortTermLiabilities": 123,
        "sumShortTermLiabilities": 123
      },
      "notes": {
        "numberOfEmployees": 123,
        "numberOfEmployeesMen": 123,
        "numberOfEmployeesFemale": 123,
        "interestExpenses": 123,
        "floatingCharges": 123,
        "propertyMortgages": 123,
        "sumSecurities": 123,
        "bankOverdraftFacilityGranted": 123,
        "contingentLiabilities": 123,
        "securitiesWithReservationOfOwnership": 123,
        "securitiesOther": 123
      },
      "changeOfEquity": {
        "changeEquityDividend": 123,
        "proposalForDividend": 123,
        "proposalBalanceToBeCarriedForward": 123,
        "changeEquityToBeCarriedForward": 123,
        "changeEquity": 123,
        "changeEquityBalanceToBeCarriedForward": 123,
        "changeEquityProfitForTheYearToBeCarriedForward": 123,
        "changeEquityBalanceDividend": 123,
        "changeEquityThisYearProfitOrLoss": 123
      },
      "keyRatios": {
        "operatingMargin": 123,
        "returnOnEquity": 123,
        "returnOnAssets": 123,
        "debtEquityRatio": 123,
        "quickRatio": 123,
        "grossMargin": 123,
        "netProfitMargin": 123,
        "equityAssetsRatio": 123,
        "netSalesChange": 123
      },
      "groupKeyRatios": {
        "returnOnEquity": 123,
        "returnOnAssets": 123,
        "operatingMargin": 123,
        "equityAssetsRatio": 123,
        "quickRatio": 123
      },
      "brfMetrics": {
        "annualFeePerSqm": 123,
        "annualFeeShareOfIncome": 123,
        "debtPerSqmResidential": 123,
        "debtPerSqmTotal": 123,
        "savingsPerSqmTotal": 123,
        "electricityCostPerSqm": 123,
        "heatingCostPerSqm": 123,
        "waterCostPerSqm": 123,
        "energyCostPerSqm": 123,
        "averageDebtInterestRate": 123,
        "interestRateSensitivity": 123,
        "numberOfApartments": 123,
        "isQualifyingCooperative": true
      },
      "flags": {
        "hasMultiYearOverview": true,
        "hasChangeOfEquity": true,
        "hasNumberOfEmployees": true,
        "hasProfitOrResultNotAccountedFor": true,
        "hasSrfMentions": true,
        "hasFarMentions": true
      },
      "software": {
        "reportSoftwareMetaTag": "<string>",
        "reportSoftwareVersionMetaTag": "<string>",
        "reportApplicationName": "<string>",
        "reportAuditReportHashMetaTag": "<string>",
        "reportOriginatorMetaTag": "<string>",
        "reportAuditorMetaTag": "<string>",
        "auditorSoftwareMetaTag": "<string>",
        "auditorSoftwareVersionMetaTag": "<string>",
        "auditorApplicationName": "<string>",
        "auditorReportHashMetaTag": "<string>",
        "auditorOriginatorMetaTag": "<string>"
      },
      "extendedDetails": {
        "forvaltningsberattelseSummary": "<string>",
        "property": {
          "fastighetsbeteckning": "<string>",
          "byggar": 123,
          "markInnehav": "<string>",
          "tomtrattsavgald": 123,
          "bostadsyta": 123,
          "lokalyta": 123,
          "totalYta": 123,
          "antalLokaler": 123,
          "antalParkeringsplatser": 123,
          "antalGaragePlatser": 123,
          "antalForrad": 123
        },
        "board": {
          "styrelseOrdforande": "<string>",
          "antalStyrelseledamoter": 123,
          "antalSuppleanter": 123
        },
        "auditor": {
          "revisorForetag": "<string>",
          "revisorNamn": "<string>",
          "revisionOpinion": "<string>"
        },
        "forvaltning": {
          "teknisk": "<string>",
          "ekonomisk": "<string>"
        },
        "laneportfolj": {
          "antalLan": 123,
          "totalSkuld": 123,
          "viktatSnittranta": 123,
          "bundetDelProcent": 123,
          "lanForAterbetalningInom1Ar": 123
        },
        "avgiftsforandringar": {
          "senasteForandringDatum": "2023-11-07T05:31:56Z",
          "senasteForandringProcent": 123,
          "planeradeForandringar": "<string>"
        },
        "energi": {
          "energiklass": "<string>",
          "energiprestanda": 123,
          "energideklarationDatum": "2023-11-07T05:31:56Z"
        },
        "keyRatios": {
          "soliditet": 123,
          "belaningsgrad": 123,
          "underhallsfondBalans": 123,
          "arligAvsattningUnderhallsfond": 123
        },
        "vasentligaHandelser": [
          "<string>"
        ],
        "planerade": [
          "<string>"
        ]
      }
    }
  ],
  "annualReports": [
    {
      "periodStart": "2023-11-07T05:31:56Z",
      "periodEnd": "2023-11-07T05:31:56Z",
      "arrivalDate": "2023-11-07T05:31:56Z",
      "registrationDate": "2023-11-07T05:31:56Z",
      "ruleset": "<string>",
      "files": [
        {
          "fileId": 123,
          "fileType": "xbrl",
          "firstSeenAtUtc": "2023-11-07T05:31:56Z",
          "lastUpdatedAtUtc": "2023-11-07T05:31:56Z"
        }
      ]
    }
  ]
}
BRF add-on

Understanding extendedDetails

Each entry in financials[] may include an extendedDetails object — content extracted by an agent system that runs a sequence of steps:
  • PDF / TIFFs are deskewed, cleaned and we run a layout analysis through custom CUDA-kernels
  • Customed trained SVTRv2 model runs on the rectangles to identify the text / numbers
  • Data is spot-checked against a fast VLM (currentley local hosted GPU Qwen3-VL)
  • The full first 15 pages including the full text and spot-corrected data is sent to larger VLM (subject to loading times the agent system chooses among a range of the state of the art high resolution market VLMs)
Data not available as typed columns are created under extendedDetails. Treat extendedDetails as a best-effort, evolving block. What’s in it today
FieldDescription
managementReportSummaryFree-text summary of the förvaltningsberättelse.
propertypropertyDesignation, constructionYear, landTenure, tomtrattsavgald, residential / commercial / total area in m², counts of commercial units, parking, garage, storage.
boardChairman, board-member count, deputy count.
auditorAuditor company, auditor name, audit opinion (e.g. "ren").
managementTechnical / financial property management providers.
loanPortfolioLoan count, total debt, weighted-average interest rate, fixed-rate share, loans maturing within 12 months.
feeChangesLatest fee-change date and percent, free-text description of planned changes.
energyEnergy class, energy performance (kWh/m²), energy-declaration date.
extendedKeyRatiosEquity ratio, loan-to-value, maintenance-fund balance, annual maintenance-fund contribution.
significantEventsArray of strings — the väsentliga händelser noted in the report.
plannedMaintenanceArray of strings — line items from the underhållsplan.
Rules an integrator should know
Only the primary period carries extendedDetails. When a financial row’s report.createdFromComparativeFigures is true, the row intentionally omits extendedDetails — the narrative belongs to the year the annual report was filed, not to its prior-year comparatives. The same BRF will therefore have exactly one extendedDetails block per filed annual report, attached to the primary-period row only.
  • Missing fields are dropped, not nulled. If the annual report doesn’t state something or the agent system couldn’t extract it confidently, the field — or the entire sub-object — is absent from the response. Always treat extendedDetails and every property under it as optional.
  • Prefer typed siblings when they exist. A value that appears in both extendedDetails.* and a structured field on the same financials[] row (brfMetrics, keyRatios, report, notes) is authoritative under the typed name. Use extendedDetails for fields that have no typed equivalent today, and re-check when you upgrade integrations — fields move out as the schema matures.
  • The schema is intentionally fluid. New top-level keys can appear under extendedDetails without an API version bump, and existing keys can disappear (graduating to typed columns) the same way. Don’t hardcode exhaustive type definitions against this object — model it as Record<string, unknown> or Map<string, any> and access fields defensively.
  • Some values carry Swedish terminology where the concept doesn’t translate cleanly — e.g. property.landTenure returns "agandeRatt" (freehold) or "tomtratt" (site leasehold), auditor.auditOpinion returns "ren" (clean), "oren", etc.

Authorizations

x-api-key
string
header
required

Path Parameters

companyId
integer<int32>
required

Internal company ID

Response

Aggregated BRF data

companyId
integer<int32>
registrationNumber
null | string
purpose
null | string
registrationDate
null | string<date-time>
isCeased
null | boolean
ceasedDate
null | string<date-time>
registeredOfficeMunicipalityCode
null | string
registeredOfficeCountyCode
null | string
sniCodes2007
null | string
sniCodes2025
null | string
isRegisteredForVAT
null | boolean
isRegisteredForFTax
null | boolean
isRegisteredForPayroll
null | boolean
hasAuditor
null | boolean
debtBalanceKr
null | number<double>
paymentDefaultsCount
null | integer<int32>
lastActivityStatus
enum<string>
Available options:
reorganizationOfBusinessCommenced,
bankruptcyTerminatedWithSurplus,
dissolvedByCompanyDemerger,
liquidationTerminated,
mergerProcedureCommenced,
acquisitionByCompanyDemerger,
acquisitionByMerger,
dissolvedByMergerProcedure,
liquidationDecided,
bankruptcyProceedingsCommenced,
bankruptcyProceedingsTerminated,
mergerPermitted,
unused1,
unused2,
unused3,
liquidationContinues,
struckOffRegisterCrossBorderMerger,
bankruptcyRepealedByCourt,
liquidationEnds,
liquidationRepealedByCourt,
companyStruckOff,
reorganizationOfBusinessEnded,
reorganizationOfBusinessRepealedByCourt,
resolutionCommenced,
resolutionTerminated,
resolutionRepealedByCourt,
companyStruckOffTradeRegisterAct,
deregisteredNewHolder,
deregistered,
reintroduced,
companyStruckOffOwnRequest,
companyStruckOffByRegistrationOffice,
companyStruckOffReenteredAsJointStock,
branchStruckOffForeignLiquidationOrBankruptcy,
branchStruckOffOperationsCeased,
branchStruckOffMissingCEO,
branchStruckOffCourtOrder,
branchStruckOffAnnualReportMissing,
isActive,
isNoLongerActive,
hasNeverBeenActive,
taxAuthorityStatus,
companyDemergerCommenced,
settlementNegotiationsCommenced,
settlementNegotiationsTerminated,
settlementNegotiationsRepealedByCourt,
acquisitionExpired,
acquisitionTerminated,
acquisitionByMultipleMergers,
acquisitionRepealedByCourt,
mergerExpired,
mergerRepealedByCourt,
other
lastStatusType
enum<string>
Available options:
reorganizationOfBusinessCommenced,
bankruptcyTerminatedWithSurplus,
dissolvedByCompanyDemerger,
liquidationTerminated,
mergerProcedureCommenced,
acquisitionByCompanyDemerger,
acquisitionByMerger,
dissolvedByMergerProcedure,
liquidationDecided,
bankruptcyProceedingsCommenced,
bankruptcyProceedingsTerminated,
mergerPermitted,
unused1,
unused2,
unused3,
liquidationContinues,
struckOffRegisterCrossBorderMerger,
bankruptcyRepealedByCourt,
liquidationEnds,
liquidationRepealedByCourt,
companyStruckOff,
reorganizationOfBusinessEnded,
reorganizationOfBusinessRepealedByCourt,
resolutionCommenced,
resolutionTerminated,
resolutionRepealedByCourt,
companyStruckOffTradeRegisterAct,
deregisteredNewHolder,
deregistered,
reintroduced,
companyStruckOffOwnRequest,
companyStruckOffByRegistrationOffice,
companyStruckOffReenteredAsJointStock,
branchStruckOffForeignLiquidationOrBankruptcy,
branchStruckOffOperationsCeased,
branchStruckOffMissingCEO,
branchStruckOffCourtOrder,
branchStruckOffAnnualReportMissing,
isActive,
isNoLongerActive,
hasNeverBeenActive,
taxAuthorityStatus,
companyDemergerCommenced,
settlementNegotiationsCommenced,
settlementNegotiationsTerminated,
settlementNegotiationsRepealedByCourt,
acquisitionExpired,
acquisitionTerminated,
acquisitionByMultipleMergers,
acquisitionRepealedByCourt,
mergerExpired,
mergerRepealedByCourt,
other
lastStatusDate
null | string<date-time>
lastStatusDescription
null | string
mailingAddress
object
visitingAddress
object
properties
null | object[]
addresses
null | object[]
financials
null | object[]
annualReports
null | object[]