One quarter. One research question.
Why did Apple’s diluted EPS grow faster than revenue in FY2025 Q1—and did its shares finish the next trading session higher? Answering this requires more than a quote or an earnings headline. We follow the quarter ended December 28, 2024, its January 30, 2025 release and the trading sessions around it.
The tested answer: revenue rose 3.95%, net income 7.12% and diluted EPS 10.09% year over year. Gross margin improved and the diluted share count fell. On January 31, the stock opened 4.04% above the prior close but closed 0.67% lower. The opening reaction and closing result tell different stories.
Financial Modeling Prep (FMP) supplies the financial and market datasets. QVeris lets an agent discover and call those tools. The agent aligns periods, calculates changes and drafts an interpretation; the researcher checks the evidence. This is a completed historical case, not a current Apple recommendation.
Three datasets, three parts of the answer
| Evidence | What it adds | What it cannot establish alone |
|---|---|---|
| Income statements | Revenue, profit, margins and diluted shares for comparable quarters. | The business reasons behind every change. |
| Earnings transcript | Management’s explanation, speaker attribution and outlook. | Independent verification of management’s claims. |
| Daily price and volume | How shares traded before and after the release. | After-hours trades or the causal effect of earnings. |
Connect these sources by company, fiscal period and event date. Do not join the statement’s period-end date directly to the trading window: the quarter ended on December 28, but the release arrived on January 30. The transcript adds context to the numbers; the prices test what happened in the market.
Conduct earnings research with FMP data through QVeris
This example uses FMP income statements, an earnings transcript and historical prices retrieved through QVeris. All three requests returned data, with the request parameters and execution records retained for checking. The tables use this saved dataset; a new request may reflect subsequent provider revisions.
- Use the chat below to run this case on the current page, or connect your agent with the MCP setup guide. For a Python workflow, obtain a QVeris API key and set it as the server-side
QVERIS_API_KEYenvironment variable. - Discover the three FMP capabilities below. Inspect the current contract when inputs or access are unclear. The catalog showed 24.2 credits per call during this test; this is a dated catalog price, not a guaranteed future charge. See current pricing and Usage for settlement.
- Run the prompt, validate each response, then calculate. The tested QVeris route used a QVeris key only; no separate FMP key was supplied. Direct FMP access has its own authentication and plan requirements. An available catalog entry does not guarantee every account or period is accessible.
| QVeris tool | Exact tested parameters |
|---|---|
| Income Statement | {"symbol":"AAPL","period":"quarter","limit":16} |
| Earnings Transcript | {"symbol":"AAPL","year":"2025","quarter":"1"} |
| Full Chart | {"symbol":"AAPL","from":"2025-01-27","to":"2025-02-05"} |
The statement endpoint returns recent rows. Filter for the exact fiscal periods after retrieval; do not assume the first result is the requested quarter. If a later rerun no longer includes both comparison periods, increase the limit within the current contract.
Try the earnings workflow in this chat
Ask your research question here. QVeris can retrieve FMP financials, earnings transcripts and price history, then explain the results in this conversation.
Call the same datasets with Python
Use Python 3.10+ and the standard library. Download reproduce.py with the page package, then choose a saved-data check or a live request.
1. Run the example
The first command checks the saved snapshot. Set QVERIS_API_KEY in your server environment before using --live; live requests can consume credits.
python3 examples/reproduce.py
python3 examples/reproduce.py --live2. Inspect the request body
For the transcript call, use the search_id from your own tool discovery and the fiscal year and quarter shown below.
{
"search_id": "<from your discovery>",
"parameters": {
"symbol": "AAPL",
"year": "2025",
"quarter": "1"
},
"max_response_size": -1
}Authenticate with a Bearer token. The script checks HTTP and provider failures, rejects empty or mismatched results, and uses a five-second request timeout. After a timeout, check Usage before retrying.
What changed in Apple’s reported results?
Reported figures, retrieved via FMP. Monetary totals in this table are USD billions; EPS is USD per share. Compare FY2025 Q1 (ended 2024-12-28) with FY2024 Q1 (ended 2023-12-30), not with the preceding holiday-free quarter. The key totals were also checked against Apple’s consolidated statements.
| Metric | FY2024 Q1 | FY2025 Q1 | YoY, calculated |
|---|---|---|---|
| Revenue | 119.575 | 124.300 | +3.95% |
| Gross profit | 54.855 | 58.275 | +6.23% |
| Operating income | 40.373 | 42.832 | +6.09% |
| Net income | 33.916 | 36.330 | +7.12% |
| Diluted EPS (USD/share) | 2.18 | 2.40 | +10.09% |
| Diluted weighted-average shares (bn) | 15.576641 | 15.150865 | −2.73% |
Calculated: gross margin rose from 45.87% to 46.88%, a 1.01 percentage-point increase. Revenue growth and a higher gross margin lifted gross profit by $3.420 billion. Operating expenses rose by $0.961 billion, leaving operating income up $2.459 billion. Net-income growth also reflects non-operating and tax items.
AI interpretation: profit growth explains part of the EPS increase; fewer diluted shares also helped. The arithmetic is approximately EPS = net income ÷ diluted weighted-average shares. Rounded reported EPS produces a 10.09% increase. Use the diluted weighted-average share count for this calculation, rather than the shares outstanding at quarter end.
Actual response excerpt
Selected fields from the successful Income Statement response; values are in original USD units. This is not a mock response.
{
"date": "2024-12-28",
"symbol": "AAPL",
"reportedCurrency": "USD",
"fiscalYear": "2025",
"period": "Q1",
"revenue": 124300000000,
"grossProfit": 58275000000,
"netIncome": 36330000000,
"epsDiluted": 2.4
}Formula: YoY = (current ÷ prior − 1) × 100%; gross margin = grossProfit ÷ revenue × 100%. Retain the unrounded values until display.
A higher open did not become a higher close
Apple’s release is dated January 30, and the call was scheduled for 2 p.m. Pacific / 5 p.m. Eastern, after the regular session. We use the January 30 regular-session close as the baseline and January 31 as the first post-release session. The statement’s filingDate of January 31 is a different date field.
| Trading date | Event position | Open, USD | Close, USD | Volume, mn shares |
|---|---|---|---|---|
| 2025-01-29 | Before release | 234.12 | 239.36 | 45.49 |
| 2025-01-30 | Release day / baseline close | 238.67 | 237.59 | 55.66 |
| 2025-01-31 | First session after release | 247.19 | 236.00 | 101.08 |
| 2025-02-03 | Second session | 229.99 | 228.01 | 73.06 |
| 2025-02-04 | Third session | 227.25 | 232.80 | 45.07 |
| 2025-02-05 | Fourth session | 228.53 | 232.47 | 39.66 |
The calculations are 247.19 / 237.59 − 1, 236.00 / 237.59 − 1 and 232.47 / 237.59 − 1. January 31 volume was about 1.82 times January 30 volume; one preceding session is not a historical average.
A field-level trap: the January 31 response has changePercent: -4.53, consistent with its open-to-close move. It is not the −0.67% close-to-close return we need. Calculate the chosen research window from named price fields rather than copying an ambiguously named percentage.
These are the Full Chart endpoint’s returned daily prices, not dividend-adjusted total returns. The response does not include an adjustment flag, currency field or timezone; USD and US trading-date context come from the instrument and source context. Confirm corporate actions and the current adjustment policy before extending the window. No daily row reveals the path of after-hours trading, and no benchmark or news controls were applied to isolate an earnings effect.
Keep the research trail with the answer
| Record | Value or rule |
|---|---|
| Financial period | FY2025 Q1 · 2024-12-28 / FY2024 Q1 · 2023-12-30 |
| Release and call | 2025-01-30 · Apple release |
| Retrieval record | Tool IDs, request parameters and execution IDs are retained in the downloadable evidence. |
| Financial units | Raw statements: USD; table: USD billions; EPS: USD/share. |
| Price-window convention | 2025-01-30 close baseline; dates ordered chronologically; non-trading days omitted. |
| Evidence download | Verified field projection + execution IDs |
Each saved execution includes a tool ID, request parameters, retrieval time and execution_id. Keep reported values, attributed commentary and calculated/AI-written interpretation in separate fields. Do not describe an AI summary as a management quote.
This is a retrospective reconstruction from saved data, not a point-in-time backtest of information available when the earnings release occurred. Historical statements and transcripts can be revised. The example did not retrieve analyst consensus, market benchmarks or segment-level APIs, so it cannot establish an earnings surprise or a market-adjusted causal return.
Frequently asked questions
Do I need a separate FMP subscription?
This test used QVeris authentication only. Your access and execution cost depend on the current QVeris tool and account. Direct FMP API access follows FMP’s own plans; those entitlements do not automatically transfer to QVeris.
What if the transcript is missing?
Report the missing company/period and continue only with the supported parts. Check transcript availability or use a clearly attributed company source. Never invent a quote or label another source as an FMP response.
Can the same workflow measure an earnings beat?
Add a consensus dataset with the estimate’s observation time, comparable accounting definition and fiscal period. Actual growth alone does not show a beat. Freeze the pre-release estimate before comparing it with reported earnings.
Tools and official documentation used in this case
Open the QVeris tool page to inspect parameters and use the dataset. Read FMP’s official documentation for endpoint definitions and field details. The links below correspond to the three datasets used in this article.
Compare revenue, net income and diluted EPS across reporting periods.
Find management commentary and verify the speaker and call date.
Check opening prices, closing prices and volume around the release.
Visit the FMP website · QVeris setup documentation
