FMP

FMP

Datasets
Market NewsEducationHow ToDiscounted Cash Flow ModelDeveloper

How to Compare Adjusted vs Unadjusted Stock Prices with a Free API

In financial analysis, a price chart can tell two very different stories depending on how the data is treated. A stock might appear to crash 50 percent overnight in one dataset, while another shows a smooth, steady trend. Neither is wrong; they just measure different things. The "crash" might be a stock split, and the "smooth" line is the result of mathematical adjustments.

For analysts, the risk comes from using the wrong type of data for the task at hand. Using adjusted data to backtest a trading strategy based on psychological price levels (like $100) can yield false results because the historical price never actually touched that level at the time. Conversely, using unadjusted data to calculate long-term volatility will result in massive error spikes whenever a dividend is paid or a split occurs.

Using a Free Unadjusted Stock Price API allows you to pull both datasets simultaneously. This enables you to compare the "raw" history against the "adjusted" reality, providing a robust mechanism for validating corporate actions and ensuring your models are looking at the right numbers.

Getting Started: Obtaining Your Free API Key

Before you can compare these datasets, you need to establish a connection. This requires an API key, which acts as your unique digital ID for making requests.

Getting set up is straightforward and uses the documentation page directly:

  1. Navigate to the Financial Modeling Prep registration page.
  2. Select the "Free" plan option, which requires only an email address and password—no credit card is needed.
  3. Once verified, your unique API key will be displayed on the dashboard.

This key allows you to make immediate calls to the API. For a more detailed walkthrough on setting up your environment, you can refer to this guide on how to sign up and use a free stock market data API.

The Raw Truth: Retrieving Unadjusted Prices

Unadjusted data represents the "receipt" of the market. It shows exactly what a share cost at 4:00 PM on a specific date. This is critical for forensic analysis, auditing trade executions, or studying technical support and resistance levels that the market actually interacted with.

The Unadjusted Stock Price API provides this raw feed. When you query a ticker like Apple (AAPL), you receive a history that preserves the actual market values.

  • Execution Reality: If Apple traded at $273.427 on February 10, 2026, the API reports exactly that. This is the number you would see on a brokerage statement from that day.
  • Volume Integrity: The volume field (e.g., 3,531,848 shares) reflects the actual physical shares traded, which is essential for analyzing liquidity conditions as they existed at the moment.

The Smoothed Reality: Retrieving Adjusted Prices

Adjusted data is a theoretical construct designed for continuity. It retroactively alters past prices to remove the artificial gaps caused by stock splits and dividend payments. This is the dataset used for calculating total returns or running regression analyses.

The Dividend Adjusted Price API delivers this normalized view.

  • Seamless Trends: In the adjusted view, the Adj Close aligns with the current price structure. For example, on February 10, 2026, the adjusted close is 273.43, effectively matching the raw data because no recent corporate actions have skewed the immediate past.
  • Split Normalization: If you look further back in history (not shown in this specific window), adjusted data would lower historical prices to account for splits, ensuring that a 4-for-1 split does not look like a 75 percent loss of value.

Performing the Comparison Check

The most powerful workflow involves pulling both endpoints to perform a "sanity check." By comparing the Close from the unadjusted feed against the Adj Close from the adjusted feed, you can programmatically detect corporate actions.

  • Identical Values: If Close equals Adj Close, the stock has had no significant corporate actions (splits/dividends) affecting that specific timeframe.
  • Divergence: If the numbers differ, a corporate action has occurred. The magnitude of the difference tells you the type of action (e.g., a small difference usually indicates a dividend, while a large factor difference indicates a split).

This comparison is a vital step in data hygiene. Before calculating complex metrics like a coverage ratio, ensuring your price inputs are standardized prevents garbage-in, garbage-out errors.

Integrating into Research Workflows

You do not need to build a complex application to benefit from this comparison. Most analysts integrate these API calls directly into their daily tools.

  • Excel/Google Sheets: You can pull both the unadjusted and adjusted columns into a spreadsheet side-by-side. A simple formula can highlight dates where the variance exceeds zero, flagging dividends for your review.
  • Python Scripts: For larger datasets, a script can download the full history and store the unadjusted price for trade simulation while using the adjusted price for volatility calculations.

To understand more about the nuances between these datasets, reviewing understanding stock market data sets: real-time vs historical vs intraday provides excellent context on how timeframes impact data structure.

Choosing the Right Tool

There is no "better" dataset between adjusted and unadjusted prices; there is only the right dataset for the specific question you are asking. By using a free API to access both, you remove the blind spots in your analysis. You can trust your technical levels because you have the raw history, and you can trust your return calculations because you have the adjusted continuity.

Frequently Asked Questions

How do I sign up for the free API?

To sign up, visit the documentation page, scroll down to the sign-up box, and insert your email address. No credit card is required.

Is the free plan really free forever?

Yes, the free plan is designed for personal use and allows for 250 requests per day. This gives you ample room to explore endpoints without an expiration date.

Do I need a credit card to get an API key?

No, the free tier is accessible without any payment information. You only need to provide a credit card if you decide to upgrade to a premium plan for higher rate limits or additional datasets.

Is the unadjusted data available on the free plan?

Yes, the free tier typically allows access to historical price endpoints, including unadjusted data, which is ideal for testing and validation.

Why would I ever use unadjusted data?

Unadjusted data is required to see the actual price a stock traded at in the past. It is essential for backtesting specific trade execution logic or analyzing historical option strike prices.

Does the adjusted price include dividends?

Yes, the "Dividend Adjusted" endpoint retroactively lowers past prices by the amount of the dividend to reflect the total return to the shareholder.

How do I detect a stock split using this data?

By comparing the unadjusted close to the adjusted close over time. A sudden, large divergence between the two series usually indicates a stock split occurred on that date.

Can I get intraday adjusted data?

Typically, adjustments for splits and dividends are applied to End-of-Day (EOD) data. Intraday adjustments are more complex and may require specific premium endpoints.

What happens to volume in adjusted data?

In some datasets, volume is also adjusted (multiplied) when price is adjusted (divided) during a split to maintain the same dollar-volume liquidity picture.