Returns what a company's workforce costs, assembled from the disclosures filers actually tag: the direct labor expense line where one exists (airlines, banks, railroads, insurers), the accrued compensation balances almost every filer carries (accrued salaries, bonuses, vacation, payroll taxes, workers compensation), and 401(k) / defined-contribution plan cost. Labor expense by business segment is served as separate series where disclosed.
Response blocks:
periods: company-level values per fiscal period, newest first. Fields the filer did not tag are omitted.perSegment: labor expense series per business segment (raw XBRL members, subtotal rollups excluded). Components of the company figure; never sum them with periods.byExpenseCaption: employee compensation per income-statement caption from the FASB DISE disclosure (ASU 2024-03). Mandatory for public filers in fiscal years beginning after 2026-12-15, so this block and the employeeCompensation field fill in as filers adopt; expect sparse data before then.Monetary values default to US dollars (currency parameter as on the statements endpoints: balances at spot, flows at the period-average rate, fx audit block, currency=original for as-filed).
What this data can tell you:
Data honesty notes:
numberOfEmployees is a voluntary tag (about 100 filers per year); treat it as opportunistic.symbol string optional Stock ticker symbol. Identify the entity by exactly one of: symbol, cik, cusip, composite_figi, or share_class_figi. At least one is required.
cik integer optional SEC Central Index Key (CIK).
cusip string optional CUSIP identifier (9 characters).
composite_figi string optional Composite OpenFIGI identifier.
share_class_figi string optional Share-class OpenFIGI identifier.
currency string optional Currency to return all monetary values in (default USD).
Pass any ISO 4217 code from the table below, or original to disable conversion and receive every figure in its own as-reported currency. With a target currency, any line item not already in it is converted on the fly at the period-appropriate rate (spot for balance-sheet instants, period-average for income/cash-flow flows); values already in the target pass through untouched (no round-trip), and the per-period fx block records the rate(s) applied. A currency that cannot be priced for a given period leaves those facts native and flags them under fx.unconverted.
Accepted values
| Code | Currency |
|---|---|
original |
Return every value in its original as-reported currency (no conversion) |
USD |
US Dollar, default |
AED |
United Arab Emirates Dirham |
AFN |
Afghan Afghani |
ALL |
Albanian Lek |
AMD |
Armenian Dram |
ANG |
Netherlands Antillean Guilder |
AOA |
Angolan Kwanza |
ARS |
Argentine Peso |
AUD |
Australian Dollar |
AWG |
Aruban Florin |
AZN |
Azerbaijani Manat |
BAM |
Bosnia-Herzegovina Convertible Mark |
BBD |
Barbadian Dollar |
BDT |
Bangladeshi Taka |
BGN |
Bulgarian Lev |
BHD |
Bahraini Dinar |
BIF |
Burundian Franc |
BMD |
Bermudan Dollar |
BND |
Brunei Dollar |
BOB |
Bolivian Boliviano |
BRL |
Brazilian Real |
BSD |
Bahamian Dollar |
BTN |
Bhutanese Ngultrum |
BWP |
Botswanan Pula |
BYN |
Belarusian Ruble |
BZD |
Belize Dollar |
CAD |
Canadian Dollar |
CDF |
Congolese Franc |
CHF |
Swiss Franc |
CLP |
Chilean Peso |
CNY |
Chinese Yuan |
COP |
Colombian Peso |
CRC |
Costa Rican Colón |
CUP |
Cuban Peso |
CVE |
Cape Verdean Escudo |
CZK |
Czech Koruna |
DJF |
Djiboutian Franc |
DKK |
Danish Krone |
DOP |
Dominican Peso |
DZD |
Algerian Dinar |
EGP |
Egyptian Pound |
ERN |
Eritrean Nakfa |
ETB |
Ethiopian Birr |
EUR |
Euro |
FJD |
Fijian Dollar |
FKP |
Falkland Islands Pound |
GBP |
British Pound |
GEL |
Georgian Lari |
GHS |
Ghanaian Cedi |
GIP |
Gibraltar Pound |
GMD |
Gambian Dalasi |
GNF |
Guinean Franc |
GTQ |
Guatemalan Quetzal |
GYD |
Guyanaese Dollar |
HKD |
Hong Kong Dollar |
HNL |
Honduran Lempira |
HTG |
Haitian Gourde |
HUF |
Hungarian Forint |
IDR |
Indonesian Rupiah |
ILS |
Israeli New Shekel |
INR |
Indian Rupee |
IQD |
Iraqi Dinar |
IRR |
Iranian Rial |
ISK |
Icelandic Króna |
JMD |
Jamaican Dollar |
JOD |
Jordanian Dinar |
JPY |
Japanese Yen |
KES |
Kenyan Shilling |
KGS |
Kyrgyz Som |
KHR |
Cambodian Riel |
KMF |
Comorian Franc |
KPW |
North Korean Won |
KRW |
South Korean Won |
KWD |
Kuwaiti Dinar |
KYD |
Cayman Islands Dollar |
KZT |
Kazakhstani Tenge |
LAK |
Laotian Kip |
LBP |
Lebanese Pound |
LKR |
Sri Lankan Rupee |
LRD |
Liberian Dollar |
LSL |
Lesotho Loti |
LYD |
Libyan Dinar |
MAD |
Moroccan Dirham |
MDL |
Moldovan Leu |
MGA |
Malagasy Ariary |
MKD |
Macedonian Denar |
MMK |
Myanmar Kyat |
MNT |
Mongolian Tugrik |
MOP |
Macanese Pataca |
MRU |
Mauritanian Ouguiya |
MUR |
Mauritian Rupee |
MVR |
Maldivian Rufiyaa |
MWK |
Malawian Kwacha |
MXN |
Mexican Peso |
MYR |
Malaysian Ringgit |
MZN |
Mozambican Metical |
NAD |
Namibian Dollar |
NGN |
Nigerian Naira |
NIO |
Nicaraguan Córdoba |
NOK |
Norwegian Krone |
NPR |
Nepalese Rupee |
NZD |
New Zealand Dollar |
OMR |
Omani Rial |
PAB |
Panamanian Balboa |
PEN |
Peruvian Sol |
PGK |
Papua New Guinean Kina |
PHP |
Philippine Peso |
PKR |
Pakistani Rupee |
PLN |
Polish Zloty |
PYG |
Paraguayan Guarani |
QAR |
Qatari Riyal |
RON |
Romanian Leu |
RSD |
Serbian Dinar |
RUB |
Russian Ruble |
RWF |
Rwandan Franc |
SAR |
Saudi Riyal |
SBD |
Solomon Islands Dollar |
SCR |
Seychellois Rupee |
SDG |
Sudanese Pound |
SEK |
Swedish Krona |
SGD |
Singapore Dollar |
SHP |
St. Helena Pound |
SLE |
Sierra Leonean Leone |
SOS |
Somali Shilling |
SRD |
Surinamese Dollar |
SSP |
South Sudanese Pound |
STN |
São Tomé & Príncipe Dobra |
SVC |
Salvadoran Colón |
SYP |
Syrian Pound |
SZL |
Swazi Lilangeni |
THB |
Thai Baht |
TJS |
Tajikistani Somoni |
TMT |
Turkmenistani Manat |
TND |
Tunisian Dinar |
TOP |
Tongan Paʻanga |
TRY |
Turkish Lira |
TTD |
Trinidad & Tobago Dollar |
TWD |
New Taiwan Dollar |
TZS |
Tanzanian Shilling |
UAH |
Ukrainian Hryvnia |
UGX |
Ugandan Shilling |
UYU |
Uruguayan Peso |
UZS |
Uzbekistani Som |
VES |
Venezuelan Bolívar |
VND |
Vietnamese Dong |
VUV |
Vanuatu Vatu |
WST |
Samoan Tala |
XAF |
Central African CFA Franc |
XCD |
East Caribbean Dollar |
XDR |
Special Drawing Rights |
XOF |
West African CFA Franc |
XPF |
CFP Franc |
YER |
Yemeni Rial |
ZAR |
South African Rand |
ZMW |
Zambian Kwacha |
ZWG |
Zimbabwean Gold |
period string (enum) optional History granularity: annual returns fiscal-year points; quarter returns the quarterly trajectory.
limit integer optional Maximum number of periods and history points per series (may be clamped by subscription tier).
curl 'https://api.stockfit.io/v1/api/footnotes/workforce-cost?symbol=AAPL&cik=320193&cusip=037833100&composite_figi=BBG000B9XRY4&share_class_figi=BBG001S5N8V8¤cy=USD' \
-H 'Authorization: Bearer YOUR_API_TOKEN'Workforce cost periods plus per-segment and per-caption series
periods array of object Company-level workforce cost per fiscal period, newest first. Fields the filer did not tag are omitted.
period string (date) fiscalYear integer fiscalPeriod string (enum) Fiscal period of a reported value: `FY` (annual) or `Q1`-`Q4` (quarterly).
FY, Q1, Q2, Q3, Q4currency string | null Currency of this period's monetary values after conversion; null when mixed
laborExpense number Salaries, wages and related expense line (flow). Sourced from the labor-expense concept family, IFRS employee benefits expense for 20-F filers
employeeCompensation number DISE employee compensation excluding one-time termination benefits (flow), when tagged without a caption breakdown
directLabor number Direct labor within cost of goods sold (flow)
otherLaborExpense number Other labor-related expenses (flow)
definedContributionPlanCost number 401(k) / defined-contribution plan cost recognized (flow)
accruedCompensation number Employee-related liabilities (balance)
accruedSalaries number Accrued salaries and wages (balance)
accruedBonuses number Accrued bonuses (balance)
accruedVacation number Accrued vacation (balance)
accruedPayrollTaxes number Accrued payroll taxes (balance)
accruedEmployeeBenefits number Accrued employee benefits (balance)
workersCompensationLiability number Workers compensation liability (balance)
numberOfEmployees number Employee headcount where tagged (voluntary disclosure, sparse)
dateFiled string (date) | null SEC filing acceptance date of the newest filing contributing to this period. Use this to gate point-in-time data and avoid lookahead bias.
perSegment array of object Labor expense by business segment, most recently disclosed first. Subtotal rollup members are excluded.
member string Raw XBRL member QName of the segment
name string Derived display label
role string (enum) What the member contributes to the consolidated figure: `segment` rows are additive, `elimination` and `reconciling` rows bridge to the total.
segment, elimination, reconcilinghistory array of object Newest first, up to `limit` points.
period string (date) fiscalYear integer fiscalPeriod string (enum) Fiscal period of a reported value: `FY` (annual) or `Q1`-`Q4` (quarterly).
FY, Q1, Q2, Q3, Q4value number Labor expense of this segment in the period (flow)
currency string | null dateFiled string (date) | null byExpenseCaption array of object DISE employee compensation per income-statement caption (ASU 2024-03), same shape as `perSegment` without `role`. Sparse until fiscal 2027 filings arrive.
member string Raw XBRL member QName identifying the expense caption
name string Derived display label
history array of object period string (date) fiscalYear integer fiscalPeriod string (enum) Fiscal period of a reported value: `FY` (annual) or `Q1`-`Q4` (quarterly).
FY, Q1, Q2, Q3, Q4value number Employee compensation within this caption (flow)
currency string | null dateFiled string (date) | null fx object Foreign-currency conversion audit for this period. Every monetary value in `facts` is in the requested `currency` (default **US dollars**). This block is absent when the period was already wholly in the target currency (e.g. a US filer with the default USD, nothing to convert). It is present when one or more line items were originally filed in a different currency and converted on the fly, and it records the exact rate(s) applied so the conversion can be reproduced. Rates come from the Frankfurter API (api.frankfurter.dev). Instant balance-sheet items use the spot rate at period end; flow income/cash-flow items use the day-weighted average rate over the period.
targetCurrency string The currency (ISO 4217) every `facts` value was converted INTO, the value of the request `currency` parameter (default USD). The literal `original` here means no conversion was requested: each fact stays in its as-reported currency (see `unconverted` for the per-fact mapping).
originalCurrencies array of string Every source currency (ISO 4217) that appeared in this period, the union of converted, unconverted, and already-in-target. The target currency itself is listed when some facts were natively in it (e.g. a foreign filer reporting some lines in USD alongside its converted local currency), so a mixed period reflects its true composition rather than appearing wholly converted.
rates array of object One entry per (source currency, method) actually applied. `rate` is the multiplier: `target = original * rate`.
from string ISO 4217 source currency that was converted.
method string (enum) `spot` for instant balance-sheet items (rate at period end); `average` for flow income/cash-flow items (day-weighted mean over the period).
spot, averagerate number Multiply the original-currency amount by this to get the `targetCurrency` amount.
effectiveDate string (date) Spot only: the date (YYYY-MM-DD) the applied rate was published (≤ period end).
start string (date) Average only: period start (YYYY-MM-DD).
end string (date) Average only: period end (YYYY-MM-DD).
unconverted map of string to array of string Facts that could NOT be converted (no published rate within tolerance, or an unsupported code/date), grouped by the currency they remain in: each key is a source ISO 4217 code, each value lists the curated fact names in `facts` still in that currency (NOT `targetCurrency`). Absent when everything converted. Use it to know exactly which figures to treat as native currency.
* array of string {
"periods": [
{
"period": "2025-12-31",
"fiscalYear": 2025,
"fiscalPeriod": {},
"currency": "USD",
"laborExpense": 17520000000,
"employeeCompensation": 0,
"directLabor": 0,
"otherLaborExpense": 0,
"definedContributionPlanCost": 1250000000,
"accruedCompensation": 4906000000,
"accruedSalaries": 0,
"accruedBonuses": 0,
"accruedVacation": 0,
"accruedPayrollTaxes": 0,
"accruedEmployeeBenefits": 0,
"workersCompensationLiability": 0,
"numberOfEmployees": 103000,
"dateFiled": "2026-02-11"
}
],
"perSegment": [
{
"member": "bwin:InsuranceAdvisorySolutionsMember",
"name": "Insurance Advisory Solutions",
"role": "segment",
"history": [
{
"period": "2025-12-31",
"fiscalYear": 2025,
"fiscalPeriod": {},
"value": 510028000,
"currency": "USD",
"dateFiled": "string"
}
]
}
],
"byExpenseCaption": [
{
"member": "string",
"name": "Cost Of Revenue",
"history": [
{
"period": "string",
"fiscalYear": 0,
"fiscalPeriod": {},
"value": 0,
"currency": "string",
"dateFiled": "string"
}
]
}
],
"fx": {}
}Invalid parameters or symbol not found
error string Human-readable error message
{}Feature not available on current plan
error string Human-readable error message
{}