S&P 500 Quarterly Reports from SEC EDGAR XBRL
Pricing
$2.00 / 1,000 company period reports
S&P 500 Quarterly Reports from SEC EDGAR XBRL
Quarterly and annual financials for S&P 500 companies from SEC EDGAR companyfacts XBRL: revenue, profit, EPS, balance sheet, cash flow, and derived free cash flow. One row per company per fiscal period.
Pricing
$2.00 / 1,000 company period reports
Rating
0.0
(0)
Developer
Mike Berckmoes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Get one clean row per company per fiscal period for S&P 500 names, from the official SEC companyfacts API. Revenue, gross profit, operating income, net income, basic and diluted EPS, the balance sheet, operating cash flow, capex, derived free cash flow, and shares outstanding. Each figure records the XBRL tag that supplied it.
The figures are as-reported XBRL data, not investment advice. They are the values the company tagged in its 10-Q or 10-K. They are not adjusted, not a forecast, and not a recommendation.
Source: SEC EDGAR data.sec.gov companyfacts and www.sec.gov/files/company_tickers.json. The S&P 500 list is the public datasets/s-and-p-500-companies CSV, with a snapshot bundled in the Actor if that file changes. No third-party fundamentals site is scraped.
What you get
| Field | Meaning |
|---|---|
ticker, cik, companyName | Apple Inc., 320193, AAPL. BRK.B is returned as BRK-B. |
form, fiscalYear, fiscalPeriod | 10-Q or 10-K, fiscal year, Q1–Q4 or FY. Fiscal labels, not calendar quarters. |
periodStart, periodEnd, filedDate | Period dates and the filing date. |
accessionNumber, filingUrl | The filing the figures came from, linked on sec.gov. |
revenue, grossProfit, operatingIncome, netIncome | As reported. Null when that concept is not tagged. |
epsBasic, epsDiluted | As reported for that quarter. EPS is not invented for a derived Q4. |
totalAssets, totalLiabilities, stockholdersEquity | Point-in-time balances. |
cashAndEquivalents, longTermDebt | Point-in-time. Long-term debt prefers the noncurrent tag. |
operatingCashFlow, capex | Quarter or year only. A year-to-date cash-flow number is not used as the quarter. |
freeCashFlow | Always derived: operating cash flow minus the absolute value of capex. Null if either tag is missing. |
tags | The concept used for each figure (Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet, and the other fallbacks). |
derived, derivedFields | Q4 built as FY minus Q1 minus Q2 minus Q3 when no quarterly Q4 fact exists. |
notFound | Unknown ticker, bad accession, or no companyfacts. That row is not charged. |
How to use it
- A few tickers.
tickers: ["AAPL", "MSFT"].periodsis the number of latest fiscal quarters (default 4, hard cap 20).includeAnnualadds the 10-K year for those fiscal years (default on). - The S&P 500. Set
allSp500to true, or pass the tickerall. The run still stops atmaxCompanies(default 20, hard cap 20). The status message says the full list needs multiple runs. SetcompanyOffsetto 20, 40, 60, and so on to take the next slice. Constituent order is the order of the source list. - Chain from SEC EDGAR Filings Watch. Pass that Actor's
cikinciks, or itsaccessionNumberinaccessions. This Actor reads companyfacts once per CIK. It does not call Filings Watch. An accession-only run returns the periods on that filing. - Forms.
formsis10-Qand/or10-K. Anything else is rejected.
How much does it cost?
Pay per event: $2 per 1,000 period rows (company-period-report at $0.002). This is a proposal; the final price is set when the Actor is published. A not-found row is free. A run of Apple and Microsoft for four quarters plus the annual rows is a few cents. Runs use 256 MB.
A local or private run that is not on pay-per-event stores the rows and reports charged as the number of period rows that would be billed.
Good to know
- SEC fair access. The User-Agent is
mikee368-apify-sec-watch (apify.com/mikee368; mike.berckmoes@gmail.com), the filings-watch identity plus the contact address. The Actor stays under 5 requests per second. HTTP 429 is retried withRetry-After. If the ticker file on www.sec.gov is refused, CIKs are taken from the bundled S&P 500 snapshot and the run continues on data.sec.gov. A 403 from data.sec.gov stops further SEC calls. The run still ends successfully, and the status message names the host that refused. - One session. Ticker map, constituent list, and companyfacts share one HTTP client. Companyfacts is fetched once per CIK and only the concepts above are kept. The raw JSON is not written to the dataset.
- Cache. The ticker map and the S&P 500 list are stored for 24 hours in the key-value store
sp500-quarterly-reports-cache. A failed list download uses the bundled snapshot. - Tag fallbacks. For each period the Actor tries
Revenues, thenRevenueFromContractWithCustomerExcludingAssessedTax, thenSalesRevenueNet, and the other concepts listed in the code. The tag that won is intags. A missing concept stays null. - Q4. Most companies do not file a 10-Q for the fourth quarter. When Q1, Q2, Q3, and FY share one tag, Q4 is FY minus those three quarters and
derivedis true. EPS is not subtracted. Balance-sheet lines on that row are the year-end balances from the 10-K, which are the same instant. - Free cash flow is always marked
freeCashFlowDerived: trueon a period row. The operating-cash-flow and capex tags are recorded even when the result is null. - Do not guess. Two different values in the same filing for one concept become null. Share classes that companyfacts does not separate (Berkshire Class A and Class B) stay null rather than picking one.
Not investment advice
This Actor delivers as-reported XBRL from public SEC filings. It does not give investment, accounting, legal, or tax advice. Totals can differ from a press release because of tag choice, amendments, or a derived fourth quarter. Read the filing at filingUrl before you rely on a number. This Actor is not affiliated with or endorsed by the U.S. Securities and Exchange Commission or by S&P Dow Jones Indices.
Data source and licence
SEC EDGAR public data. Information on sec.gov is U.S. government work. Automated access follows the SEC fair-access policy. The constituent CSV is a maintained public file; the bundled snapshot is only a fallback.
FAQ
Do I need an API key? No.
Why is operating cash flow null on a 10-Q? Many 10-Qs tag cash flow as year-to-date. That number is not the quarter, so the quarter is null and free cash flow is null with it.
Why is Q4 marked derived? There was no quarterly Q4 fact. The flow fields are FY minus Q1–Q3.
Can one run return all 500 companies? No. maxCompanies caps the run at 20. Use companyOffset on later runs.