US Equity Markets: Standardized Income Statements

Finance
tick

Quarterly Data

tick

Updated Daily

tick

> Dec 2009

tick

Russell 3000

tick

United States

Summary

Quarterly and annual consolidated income statements for publicly traded companies in the US equity markets

This is a sample visualization of a small subset of this data product.
Loading...
Charts of US Equity Markets: Standardized Income Statements

Key Features

  • Updated daily
  • Historical data goes back to 2009
  • Covers Russell 3000 Companies
  • Covers 10-Q (Quarterly) and 10-K (Annual) Filings

Documentation

Applications

  • Fundamental analysis
  • Value Investing
  • Calculation of strength and growth KPI's
  • Back-testing investment hypotheses

Overview

Updated daily, this database provides 10 years of history, for essential income statement indicators and ratios, for 3,000 US public companies.

This data product contains the Quarterly and Annual Income Statements submitted to the Securities and Exchange Commission (SEC).

SEC is an independent agency of the United States federal government. The SEC holds primary responsibility for enforcing the federal securities laws, proposing securities rules, and regulating the securities industry, which is the nation's stock and options exchanges, and other activities and organizations, including the electronic securities markets in the United States.

Ticker Coverage

This data product covers Russell 1000 (large-cap) and Russell 2000 (small-cap) companies. Russell 3000 index covers approximately 98% of the total US Equity market-cap. S&P 500 companies are also included in this list.

  • Russell 3000 Index is a market-capitalization-weighted equity index maintained by FTSE Russell that provides exposure to the entire U.S. stock market. The index tracks the performance of the 3,000 largest U.S.-traded stocks which represent about 98% of all U.S incorporated equity securities.
  • Russell 2000 Index is an index measuring the performance of approximately 2,000 smallest-cap American companies in the Russell 3000 Index.
  • Russell 1000 Index is a subset of the Russell 3000 Index, represents the 1000 top companies by market capitalization in the United States.
  • S&P 500 is a market-capitalization-weighted index of the 500 largest U.S. publicly traded companies. The index is widely regarded as the best gauge of large-cap U.S. equities. (S&P stands for Standard and Poor, the names of the two founding financial companies.)
  • An income statement provides valuable insights into a company's operations, the efficiency of its management, under-performing sectors and its performance relative to industry peers.
  • The data contains all primary line items from the period income statement. Data are provided both quarterly and on a Trailing Twelve Month (TTM) basis.
  • The database is updated within 24 hours of the form 10 SEC filing, often within 12 hours.

Data Collection Methodology

Dictionary

Filter
Column
Title
Data Type
Description
tickerTickerTextThe one to four or five character identifier for each security
period_datePeriod DateDateBalance Sheet Date, rounded to nearest month-end
formFormTextThe submission type of the registrant's filing (e.g. 10-Q, 10-K, 8-K etc.)
fiscal_yearFiscal YearTextRegistrant's year as reckoned for taxing or accounting purposes
fiscal_periodFiscal PeriodTextRegistrant's quarter as reckoned for taxing or accounting purposes
fiscal_year_endFiscal Year EndTextRegistrant's fiscal year end date (month and day) as reckoned for taxing or accounting purposes
filed_dateFiled DateDateRegistrant's submission filing date
period_typePeriod TypeTextIndicator for quarter and trailing twelve months (QTR, TTM)
inc_revenueTotal RevenueFloatTotal Revenue is the total billings generated from normal business operations net of discounts and deductions for returned merchandise
inc_cost_of_revenueCost of RevenueFloatThe cost of revenue the total cost of manufacturing and delivering a product or service to consumers. Cost of revenue is also called the Cost of goods sold (COGS) and it includes the cost of the materials used in creating the good along with the direct labor costs used to produce the good. It excludes indirect expenses, such as administrative and sales force costs.
inc_net_revenueNet RevenueFloatTotal revenue less Costs of Revenue. Some companies do not report cost of goods sold and start their operations reporting with net revenue. For banks net revenue is the sum of net interest income plus non-interest income.
inc_selling_general_and_administrative_expenseSelling, General & AdministrativeFloatSelling, general and administrative expense (SG&A) is the sum of all direct and indirect selling expenses and all general and administrative expenses of a company. The SG&A is comprised of all operating expenses of a business that are __not__ included in the cost of goods sold such as corporate expenses, facility costs and marketing expenses.
inc_research_and_developmentResearch & DevelopmentFloatResearch and development (R&D) expense refers to the cost of activities a company undertakes to innovate and introduce new products and services
inc_other_operating_expenseOther Operating ExpensesFloatOther operating expenses, also known as overhead expenses, is the amount which generally does not depend on sales or production quantities. These are all operating expenses that are not itemized in the Income Statement report.
inc_other_operating_incomeOther Operating IncomeFloatThese are minor income lines that do not constitute sales related normal business of the company
inc_other_operating_income_expenseOther Operating Income Expense FloatThis is a reconciling item that cover minor or unusual operating income or expense and is used to reconcile total operating income the its line items
inc_operating_incomeOperating IncomeFloatOperating income is an accounting figure that measures the amount of profit realized from a business's operations, after deducting operating expenses such as wages, depreciation, and cost of goods sold. Operating income is the Gross Profit less Total Operating Expenses
inc_interest_expenseInterest ExpenseFloatInterest expense is the cost incurred by an entity for borrowed funds. It represents interest payable on any borrowings – bonds, loans, convertible debt or lines of credit
inc_income_taxIncome Tax ExpenseFloatIncome tax expense is the amount of expense that a business recognizes in an accounting period for the taxes assessed on its taxable income. It represents the taxes assessed which may not be necessarily the same as taxes paid
inc_other_nonoperating_expenseOther non-Operating ExpenseFloatThese are small and uncommon items such as restructuring charge, amortization of unusual assets, etc.
inc_other_nonoperating_incomeOther non-Operating IncomeFloatThese are uncommon items in the non-operating activities such as income from equity method investments, custom IP development, or interest and dividend income from investments
inc_other_nonoperating_income_expenseOther non-Operating Income ExpenseFloatThis is a reconciling item that cover minor or unusual non-operating income or expense and is used to reconcile total non-operating income to its line items
inc_non_operating_income_expenseNon-Operating Income ExpenseFloatThese are non-operating expense items that a company did not report in another category.
inc_income_loss_due_to_minority_interestMinority Interest Income LossFloatA minority interest is ownership or interest of less than 50% of an enterprise. The term can refer to either stock ownership or a partnership interest in a company. Minority interest income is reported on the consolidated income statement as a share of profit belonging to minority shareholders. The reporting of 'minority interest' is a consequence of the requirement by accounting standards to 'fully' consolidate partly owned subsidiaries.
inc_net_incomeNet IncomeFloatNet income is equal to net earnings (profit/loss) calculated as Gross Profit less total operating expenses, depreciation, interest, taxes and other income expense from continuing and discontinued operations
inc_dividendsDividend AmountFloatThe amount of dividends declared this period
inc_basic_shares_outstandingBasic Shares OutstandingFloatOutstanding shares refer to the number of stocks that a company actually has issued. This number represents all the shares that can be bought and sold by the public, as well as all the restricted shares that require special permission before being transacted. Total shares that can be freely bought and sold by public investors are called the float.
inc_diluted_shares_outstandingDiluted Shares OutstandingFloatDiluted shares are the total number of common shares of a company that will be outstanding and available to trade on the open market after all possible sources of conversion, such as convertible bonds and employee stock options, are exercised. Fully diluted shares include not only those which are currently issued but also those that could be claimed through conversion.
inc_earnings_per_share_basicEarnings Per Share (EPS)FloatBasic Earnings per Share (EPS) is net income of a company less any preferred dividends divided by the average number of common shares outstanding during the calculation period. Net Income less preferred dividends is also called the Net Income Available to Common Shares.
inc_earnings_per_share_dilutedDiluted Earnings per Share (Diluted EPS)FloatDiluted EPS takes into account all convertible securities such as convertible bonds or convertible preferred stock, which are changed into equity or common stock. To calculate Dilutes EPS we take Net Income Available to Common Shares and divide it by Average number of Diluted Shares during the calculation period.

Sample Data

API

ALTADATA provides a powerfull API, compatible with JSON, CSV formats. You can connect, update and analyze our data products with cURL, Python, R, Ruby, Java or Javascript

Authentication

Getting an API key

You need to subscribe to an ALTADATA data product to get an API key. Once you subscribe to the data product you can find your API key on your Account Dashboard.

Auhenticating your requests

`api_key` is your access token. This token must be included on each API call with either a HTTP Header Authorization, or a query parameter api_key.

Example: https://www.altadata.io/data/api/eq_02_altab_04?api_key=YOUR_API_KEY

ALTADATA API Reference Table

Parameter Type Parameter Explanation Available Values Default
General size The number of records will be returned for each page. 5 - 100 20
General page The page number. It starts at 1 and increments one by one. Each page returns records that row count equals to the size parameter 1- ... 1
General format The data return format of API call json , csv json
General collapse The aggregation format of API call Examples are monthly, yearly, bystate, bycountry, etc. Refer to the data product documentation to see available aggregations for it. null
Select columns Column select is how you specify the content of an SQL SELECT c_only, c_certain, c_columns FROM clause. More detail is in the following sections. *
Order order_by Column order is how you specify the content of an SQL ORDER BY clause. More detail is in the following sections. null
Lookup vary by column name Column lookups are how you specify the content of an SQL WHERE clause. More detail is in the following sections. *

Select

Column select is how you specify the content of an SQL SELECT c_only, c_certain, c_columns FROM clause. It specifies as a keyword argument to the query string of API Call URL. Basic usage is a comma-separated list of column names. If not given, the default value is *(asterisk).

Example 1 :

Query : ?columns=C1,C2,C3 SQL Equivalent : Select C1,C2,C3 from DATA_PRODUCT

Example 2 :

Query : Not Given | ?columns= | ?columns=* SQL Equivalent : Select * from DATA_PRODUCT

Order

Column order is how you specify the content of an SQL ORDER BY clause. It specifies as a keyword argument to the query string of API Call URL. Basic usage is a comma-separated list of column names where each column name has an appropriate suffix (asc,desc) after _(underscore) or no suffix (means ascending).

Example :

Query : ?order_by=C1_asc,C2,C3_desc,C4_asc SQL Equivalent : Select * from DATA_PRODUCT order by C1 asc, C2, C4 desc, C4 asc

Order Type Suffix
Ascending null
Ascending asc
Descending desc

Lookup

Column lookups are how you specify the content of an SQL WHERE clause. They’re specifies as keyword arguments to the query string of API Call URL. Basic usage is appending _(underscore) then lookup type as a suffix to name of the column that you want to filter. The query parameter for a column is built like the format {COLUMN_NAME}_{LOOKUP_TYPE}

As a convenience when no lookup type is provided

Lookup Type Suffix Value Type Example SQL Equivalent
Equal to null String | Numeric | Datetime ?COLUMN=VALUE Select * from DATA_PRODUCT where COLUMN=VALUE
Equal to eq String | Numeric | Datetime ?COLUMN_eq=VALUE Select * from DATA_PRODUCT where COLUMN=VALUE
Not Equal to neq String | Numeric | Datetime ?COLUMN_neq=VALUE Select * from DATA_PRODUCT where COLUMN<>VALUE
Greater Than gt Numeric | Datetime ?COLUMN_gt=VALUE Select * from DATA_PRODUCT where COLUMN>VALUE
Greater Than or Equal to gte Numeric | Datetime ?COLUMN_gte=VALUE Select * from DATA_PRODUCT where COLUMN>=VALUE
Less Than lt Numeric | Datetime ?COLUMN_lt=VALUE Select * from DATA_PRODUCT where COLUMN,VALUE
Less Than or Equal to lte Numeric | Datetime ?COLUMN_lte=VALUE Select * from DATA_PRODUCT where COLUMN<=VALUE
In in String ?COLUMN_in=V1,V2,V3 Select * from DATA_PRODUCT where COLUMN in ('V1','V2','V3')
Not In notin String ?COLUMN_notin=V1,V2,V3 Select * from DATA_PRODUCT where COLUMN not in ('V1','V2','V3')

Data Access Examples

cURL
curl \ -H 'Authorization: api_key' \ 'https://www.altadata.io/data/api/eq_02_altab_04'
Python (requests)
response = requests.get( 'https://www.altadata.io/data/api/eq_02_altab_04', headers={'Authorization': 'api_key'} )
Ruby (open-uri)
require 'open-uri' response = URI.open('https://www.altadata.io/data/api/eq_02_altab_04', "Authorization" => "api_key" )
Java (OkHttp)
Request request = new Request.Builder() .url("https://www.altadata.io/data/api/eq_02_altab_04") .addHeader("Authorization", "api_key") .build(); Call call = client.newCall(request); Response response = call.execute();
Javascript (axios)
axios.request({ url: 'https://www.altadata.io/data/api/eq_02_altab_04', method: 'get', headers: { 'Authorization', 'api_key'} }) .then(response => { console.log(response.data) })
R ( jsonlite )
library(jsonlite) data <- fromJSON(`https://www.altadata.io/data/api/eq_02_altab_04`)

Frequently Asked Questions

HOW DO I SUBSCRIBE TO DATA PRODUCTS ON ALTADATA?
DO YOU PROVIDE CUSTOM DATASETS UPON REQUEST?
WHAT ARE THE DIFFERENT WAYS I CAN ACCESS MY SUBSCRIPTION DATA?
HOW CAN I QUICKLY LOOK AT WHAT IS IN THE DATA THAT I SUBSCRIBED TO?
HOW CAN I JOIN ALTADATA PARTNER NETWORK? DO YOU HAVE A LIST OF REQUIREMENTS?