Income statements
curl --request GET \
--url 'https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey='import requests
url = "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"next_url": "https://api.finvera.news/stocks/v1/fundamentals/income-statement?cursor=AAECAAFkAAEBB_ucng==",
"request_id": "570da25ecda04e8cb3bc9457d3bcf62e",
"results": [
{
"cik": "0000866729",
"consolidated_net_earnings": -71100000,
"cost_of_revenue": 123500000,
"depreciation_amortization_total": 16300000,
"earnings_per_share_basic": -2.83,
"earnings_per_share_diluted": -2.83,
"ebitda": -64900000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 102100000,
"income_from_operations": -92200000,
"income_taxes": -25900000,
"interest_expense": -4500000,
"miscellaneous_operating_expenses": 800000,
"net_income_common_stockholders": -71100000,
"non_operating_income_expense": -300000,
"non_operating_items_net": -4800000,
"operating_expenses_total": 194300000,
"pre_tax_income": -97000000,
"reporting_period_end": "2025-08-31",
"revenue": 225600000,
"sales_general_admin_expenses": 177200000,
"symbols": [
"SCHL"
],
"timeframe": "quarterly",
"weighted_average_shares_basic": 25200000,
"weighted_average_shares_diluted": 25200000
},
{
"cik": "0000866729",
"consolidated_net_earnings": -10500000,
"cost_of_revenue": 714000000,
"depreciation_amortization_total": 66700000,
"earnings_per_share_basic": -0.69,
"earnings_per_share_diluted": -0.71,
"ebitda": 108300000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 899900000,
"income_from_operations": 12100000,
"income_taxes": 4000000,
"interest_expense": -19700000,
"interest_income": 2200000,
"miscellaneous_operating_expenses": 3700000,
"net_income_common_stockholders": -10500000,
"non_operating_income_expense": -1100000,
"non_operating_items_net": -18600000,
"operating_expenses_total": 887800000,
"pre_tax_income": -6500000,
"reporting_period_end": "2025-08-31",
"revenue": 1613900000,
"sales_general_admin_expenses": 817400000,
"symbols": [
"SCHL"
],
"timeframe": "trailing_twelve_months",
"weighted_average_shares_basic": 27200000,
"weighted_average_shares_diluted": 27300000
}
],
"status": "OK"
}
Company Fundamentals
Income statements
Retrieve standardized income statements with pagination and filters.
GET
/
v1
/
fundamentals
/
income-statement
Income statements
curl --request GET \
--url 'https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey='import requests
url = "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finvera.news/stocks/v1/fundamentals/income-statement?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"next_url": "https://api.finvera.news/stocks/v1/fundamentals/income-statement?cursor=AAECAAFkAAEBB_ucng==",
"request_id": "570da25ecda04e8cb3bc9457d3bcf62e",
"results": [
{
"cik": "0000866729",
"consolidated_net_earnings": -71100000,
"cost_of_revenue": 123500000,
"depreciation_amortization_total": 16300000,
"earnings_per_share_basic": -2.83,
"earnings_per_share_diluted": -2.83,
"ebitda": -64900000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 102100000,
"income_from_operations": -92200000,
"income_taxes": -25900000,
"interest_expense": -4500000,
"miscellaneous_operating_expenses": 800000,
"net_income_common_stockholders": -71100000,
"non_operating_income_expense": -300000,
"non_operating_items_net": -4800000,
"operating_expenses_total": 194300000,
"pre_tax_income": -97000000,
"reporting_period_end": "2025-08-31",
"revenue": 225600000,
"sales_general_admin_expenses": 177200000,
"symbols": [
"SCHL"
],
"timeframe": "quarterly",
"weighted_average_shares_basic": 25200000,
"weighted_average_shares_diluted": 25200000
},
{
"cik": "0000866729",
"consolidated_net_earnings": -10500000,
"cost_of_revenue": 714000000,
"depreciation_amortization_total": 66700000,
"earnings_per_share_basic": -0.69,
"earnings_per_share_diluted": -0.71,
"ebitda": 108300000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 899900000,
"income_from_operations": 12100000,
"income_taxes": 4000000,
"interest_expense": -19700000,
"interest_income": 2200000,
"miscellaneous_operating_expenses": 3700000,
"net_income_common_stockholders": -10500000,
"non_operating_income_expense": -1100000,
"non_operating_items_net": -18600000,
"operating_expenses_total": 887800000,
"pre_tax_income": -6500000,
"reporting_period_end": "2025-08-31",
"revenue": 1613900000,
"sales_general_admin_expenses": 817400000,
"symbols": [
"SCHL"
],
"timeframe": "trailing_twelve_months",
"weighted_average_shares_basic": 27200000,
"weighted_average_shares_diluted": 27300000
}
],
"status": "OK"
}
{
"next_url": "https://api.finvera.news/stocks/v1/fundamentals/income-statement?cursor=AAECAAFkAAEBB_ucng==",
"request_id": "570da25ecda04e8cb3bc9457d3bcf62e",
"results": [
{
"cik": "0000866729",
"consolidated_net_earnings": -71100000,
"cost_of_revenue": 123500000,
"depreciation_amortization_total": 16300000,
"earnings_per_share_basic": -2.83,
"earnings_per_share_diluted": -2.83,
"ebitda": -64900000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 102100000,
"income_from_operations": -92200000,
"income_taxes": -25900000,
"interest_expense": -4500000,
"miscellaneous_operating_expenses": 800000,
"net_income_common_stockholders": -71100000,
"non_operating_income_expense": -300000,
"non_operating_items_net": -4800000,
"operating_expenses_total": 194300000,
"pre_tax_income": -97000000,
"reporting_period_end": "2025-08-31",
"revenue": 225600000,
"sales_general_admin_expenses": 177200000,
"symbols": [
"SCHL"
],
"timeframe": "quarterly",
"weighted_average_shares_basic": 25200000,
"weighted_average_shares_diluted": 25200000
},
{
"cik": "0000866729",
"consolidated_net_earnings": -10500000,
"cost_of_revenue": 714000000,
"depreciation_amortization_total": 66700000,
"earnings_per_share_basic": -0.69,
"earnings_per_share_diluted": -0.71,
"ebitda": 108300000,
"fiscal_quarter": 1,
"fiscal_year": 2026,
"gross_profit": 899900000,
"income_from_operations": 12100000,
"income_taxes": 4000000,
"interest_expense": -19700000,
"interest_income": 2200000,
"miscellaneous_operating_expenses": 3700000,
"net_income_common_stockholders": -10500000,
"non_operating_income_expense": -1100000,
"non_operating_items_net": -18600000,
"operating_expenses_total": 887800000,
"pre_tax_income": -6500000,
"reporting_period_end": "2025-08-31",
"revenue": 1613900000,
"sales_general_admin_expenses": 817400000,
"symbols": [
"SCHL"
],
"timeframe": "trailing_twelve_months",
"weighted_average_shares_basic": 27200000,
"weighted_average_shares_diluted": 27300000
}
],
"status": "OK"
}
Authorizations
API key in query string
Query Parameters
Max number of results to return per page (1–1000)
Required range:
1 <= x <= 1000Sort by field and direction; format: field[.asc|.desc]. Default asc when direction omitted. Supported fields: period_end, fiscal_year, fiscal_quarter.
Pattern:
^[a-z_]+(\.(asc|desc))?$Central Index Key as a zero-padded string of up to 10 digits
Pattern:
^[0-9]{1,10}$Comma-separated list of symbols (e.g., AAPL,MSFT)
Pattern:
^[A-Z0-9.,-]{1,200}$Reporting period end date in yyyy-mm-dd
Fiscal year (four digits)
Required range:
1900 <= x <= 2100Fiscal quarter number
Available options:
1, 2, 3, 4 Reporting period type
Available options:
quarterly, annual, trailing_twelve_months ⌘I