Get aggregated BRF data
BRF
Get aggregated BRF data
Returns a BRF-tailored aggregate for a housing cooperative (bostadsrättsförening): core identity, owned properties, historical financial reports (with raw-LLM extract), and available annual-report files. Only returns data when the company is registered as a BRF.
GET
Get aggregated BRF data
BRF add-on
Understanding
Each entry in
Rules an integrator should know
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)
extendedDetails as a best-effort, evolving block.
What’s in it today
| Field | Description |
|---|---|
managementReportSummary | Free-text summary of the förvaltningsberättelse. |
property | propertyDesignation, constructionYear, landTenure, tomtrattsavgald, residential / commercial / total area in m², counts of commercial units, parking, garage, storage. |
board | Chairman, board-member count, deputy count. |
auditor | Auditor company, auditor name, audit opinion (e.g. "ren"). |
management | Technical / financial property management providers. |
loanPortfolio | Loan count, total debt, weighted-average interest rate, fixed-rate share, loans maturing within 12 months. |
feeChanges | Latest fee-change date and percent, free-text description of planned changes. |
energy | Energy class, energy performance (kWh/m²), energy-declaration date. |
extendedKeyRatios | Equity ratio, loan-to-value, maintenance-fund balance, annual maintenance-fund contribution. |
significantEvents | Array of strings — the väsentliga händelser noted in the report. |
plannedMaintenance | Array of strings — line items from the underhållsplan. |
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
extendedDetailsand 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 samefinancials[]row (brfMetrics,keyRatios,report,notes) is authoritative under the typed name. UseextendedDetailsfor 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
extendedDetailswithout 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 asRecord<string, unknown>orMap<string, any>and access fields defensively. - Some values carry Swedish terminology where the concept doesn’t
translate cleanly — e.g.
property.landTenurereturns"agandeRatt"(freehold) or"tomtratt"(site leasehold),auditor.auditOpinionreturns"ren"(clean),"oren", etc.
Authorizations
Path Parameters
Internal company ID
Response
Aggregated BRF data
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 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