AnswerPool

SEC Entity Resolver API: Any issuer string — free lookup

Any issuer string in — ticker, CIK or company name — canonical CIK, ticker, name, the match kind, and ready-to-call URLs for the next step out. One call instead of guessing which resolver to use. Free, no key.

Free — no key, no signup, rate-limited to 60 calls per minute per client.

How do you call it?

GET /v1/sec/resolve — product id sec_resolve. Over MCP, call answerpool_get with product_id=sec_resolve.

curl "https://answerpool.io/v1/sec/resolve?q=NVDA"

Live call: https://answerpool.io/v1/sec/resolve?q=NVDA · JSON sample: /v1/samples/sec_resolve

What does the answer look like?

A representative response, the same static sample served at /v1/samples/sec_resolve.

as_of2026-09-03T14:30:00Z
queryNVDA
count1
best.cik0001045810
best.tickerNVDA
best.nameNVIDIA CORP
best.match_onticker
noteOne call for any issuer string — ticker, CIK or company name. next_endpoints are ready-to-call URLs for the best match, each with its price; unlisted filers re…
disclaimerDerived from public SEC EDGAR filings; not investment advice.
refresh_after2026-09-17T11:15:00.000Z

matches

ciktickernamematch_on
0001045810NVDANVIDIA CORPticker
The same sample as raw JSON
{
 "as_of": "2026-09-03T14:30:00Z",
 "query": "NVDA",
 "count": 1,
 "matches": [
  {
   "cik": "0001045810",
   "ticker": "NVDA",
   "name": "NVIDIA CORP",
   "match_on": "ticker"
  }
 ],
 "best": {
  "cik": "0001045810",
  "ticker": "NVDA",
  "name": "NVIDIA CORP",
  "match_on": "ticker"
 },
 "next_endpoints": [
  {
   "path": "/v1/sec/entity",
   "url": "/v1/sec/entity?ticker=NVDA",
   "description": "Full entity profile: tickers, exchanges, SIC, incorporation, former names",
   "price_usd": 0.0
  }
 ],
 "note": "One call for any issuer string \u2014 ticker, CIK or company name. next_endpoints are ready-to-call URLs for the best match, each with its price; unlisted filers resolve by name or CIK only.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice.",
 "refresh_after": "2026-09-17T11:15:00.000Z"
}

How fresh is it, and where does the data come from?

The fastest source behind this answer can change every 15 minutes, so every response carries a refresh_after timestamp — right now it would be 2026-09-17T11:15:00.000Z. Schedule the next call on that value rather than on a guess.

Method version 0.1.0 · serving cache 1 day · every response carries a result_id you can resolve at /v1/provenance.

What should you call next?

When should you use it?

You have any string identifying an issuer and want identifiers plus where to go next.

What you skip building

When should you not use it?

Federal award recipients — /v1/funding/recipients resolves those.

Where else can you find this?