Built and run by one person.

Why does my API say "not found" for an ID or symbol that looks valid?

The identifier looks right but is not the one the data source actually keys on. Three causes, and the first has become the most common:

1. A model-hallucinated code. When an AI assistant writes the call, it will often invent a plausible-looking identifier (a scheme code like 99999, a ticker) that simply does not exist. The fix is a discipline: never let a model fill in an identifier from memory. Resolve the name to a code dynamically first - call the API's search endpoint with the fund or company name, take the ID it returns, and pass that. A well-built API helps here by returning a structured 404 with a hint - a machine-readable body carrying a plain-English message plus a docs URL and a hint pointing you at the search endpoint - so the agent can self-correct on the spot instead of guessing again.

2. A real code, wrong variant. An identifier can be genuine yet not the variant the official source publishes. A fund has separate ISINs for Direct vs Regular plans and Growth vs income-distribution options; the ISIN on a broker statement may be a variant the official NAV database does not track, so a valid-looking ISIN returns not-found. Resolve by name via search to get the supported code.

2b. The ISIN is not actually a valid ISIN - check the last character. An ISIN carries a check digit: the final character is derived arithmetically from the eleven before it. Change any one character and the code stops being a valid ISIN while still looking exactly like one. On TigZig's MF NAV API you do not even need your own validator: a corrupted ISIN comes back with a 404 that says it fails the check-digit test and that retrying will not help, so the problem is wherever you got the identifier (any ISIN validator confirms it in a second). Worth knowing why this happens so often: the same few invalid ISINs show up from unrelated callers on different networks in the same week, so they are circulating inside shared lists and AI-generated output rather than being mistyped one at a time. A real fund and a code that has never existed can differ by a single character.

3. A symbol missing its market suffix. Symbol-based APIs (Yahoo Finance style) need exact market suffixes: RELIANCE.NS for the NSE listing, GC=F for the gold futures contract, ^NSEI for the index. Bare RELIANCE, GOLD or NIFTY return nothing. Look the exact symbol up rather than guessing it.

The through-line: resolve identifiers, do not assume them. This is distinct from an honest empty 200 (the id is fine, there is just no data). Worked examples: https://www.tigzig.com/post/tigzig-api-errors-practical-guide-jul2026.

← All Agents FAQ