‹ API Foundations Lesson 6 of 16
Contents Lesson 6 of 16

4 min read · foundations

Why does a bare AAPL work when everything tells you to write AAPL.US?

Here is an experiment worth running before you believe anyone, including this lesson. Call /eod/AAPL — no suffix — and see what happens.

It works. Run on 2026-07-28 for the range 20 to 24 July 2026, /eod/AAPL returned five complete rows, the last of them:

{"date": "2026-07-24", "open": 321.79, "high": 334.37, "low": 321.62,
 "close": 333.02, "adjusted_close": 333.02, "volume": 47443900}

Identical to what /eod/AAPL.US returns. The API defaults the exchange to US.

The same experiment, off the US

Now run /eod/VOW3 — the Volkswagen ticker, no suffix. Same date range, same day:

404 Not Found
Ticker Not Found.

Not "we searched everywhere and found nothing". The default is not a search. It is an assumption: no suffix means .US, and there is no VOW3.US, so the answer is a 404. Add the suffix — VOW3.XETRA — and the data appears.

So the rule is precise: the suffix is required for every non-US venue, and defaulted for US tickers.

Why the precision matters more than the rule

A widely repeated version of this says the suffix is mandatory and that a bare AAPL comes back empty. That is a false diagnosis, and false diagnoses cost more than ignorance does, because they send you confidently after the wrong fix.

If an empty or failing response for a US ticker is not a suffix problem, then it is one of these instead:

  • A date range with no trading days in it. A weekend, a holiday week, or a range that ends before the instrument listed. Status 200, empty array, nothing wrong.
  • A symbol that no longer exists under that name. Delisted, or renamed — the next lesson.
  • A plan that does not cover the endpoint. That is a 403, not a 404, and no amount of editing the ticker will change it.
  • A genuine typo. Which the 404 above is also telling you about.

Being able to tell those four apart is the actual skill. The suffix is a red herring in three of the four cases.

Write it anyway

The default works, and you should still write .US. Three reasons, none of them about correctness:

  1. Portability. The day you add a London or Frankfurt listing, code that already carries a venue needs no restructuring.
  2. Readability. AAPL.US records which market you meant. AAPL records that you did not think about it.
  3. Defaults are behaviour you did not ask for. They are the part of a system most likely to change without anyone telling you, and the hardest kind of change to notice.

Try it now

  1. Here are /eod/AAPL and /eod/AAPL.US over the same week, 21 to 25 September 2026. Diff the two tables field by field and confirm that they match.
Live API response: mda1 apple bare ticker week
Live API response: mda1 apple suffixed week
  1. /eod/VOW3 answered with the status and body printed earlier in this lesson; /eod/VOW3.XETRA answers with the series charted below. Read the status code and the body of the first one carefully.
Interactive line chart: VOW3.XETRA (1Y)
  1. Here is a US ticker over a range that is entirely a weekend, /eod/AAPL.US?from=2026-09-26&to=2026-09-27&fmt=json, called on 28 September 2026. The status was 200 and this is the whole body. Note that this failure looks completely different from the previous one.
[]