The Mine Works
← All posts
use-case July 17, 2026 · 10 min read

Ask an AI for a Company's SEC CIK and It Will Lie to You. Here Is the Fix.

An AI that remembers is not an AI that verifies. This is the exact diligence flow — legal identity from GLEIF, filings from EDGAR, funding, engineering activity and hiring — run from Claude via MCP, grounded in real registries, for about fifteen cents a company.

Try the scraper

The actor referenced in this article. Pay only for results delivered.

View the scraper →

Try this right now, in whatever AI assistant you have open: “What is Anthropic’s SEC CIK number?”

You will very likely get a ten-digit number. It will be formatted correctly. It will be delivered without a hedge. And it will be wrong — because Anthropic is a private company and does not have one.

The model is not malfunctioning. It is doing exactly what it was built to do: produce the most plausible continuation. A CIK is an arbitrary string with no internal logic — nothing about it can be derived, reasoned out, or sanity-checked from first principles. So the model reaches for the shape of the answer, and the shape is all it has.

This is the failure mode that matters most in diligence, because it is invisible. A wrong number does not look wrong. It looks like an answer.

The fix is not a better model. It is giving the model a registry to check.

That is the whole idea of this post: the difference between an AI that remembers and an AI that verifies.

The setup (two minutes, once)

The Mine Works MCP server puts our scrapers inside Claude as native tools. Claude calls them itself and reasons over the results in the same conversation — you never copy-paste a CSV.

Open ~/.claude.json (or Claude Desktop → Settings → Developer → Edit Config) and add:

{
  "mcpServers": {
    "themineworks": {
      "url": "https://the-mine-works-mcp.hatchable.site/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Grab your token from Apify → Account → Integrations. Restart Claude. Runs bill to your own Apify account at pay-per-result rates — there is no subscription on our end.

Now the flow.

Step 1: Resolve the company to an identity that exists

The manual pain: you have a name on a pitch deck. “Acme AI.” Is that the legal entity? Is it a trading name for something else? Is it registered in Delaware or Dublin? Is it even still active? Answering that properly means GLEIF’s search in one tab and EDGAR’s company lookup in another, and knowing that the two systems have no shared key between them.

Company Identity Resolver does both in one call and hands back a single record: GLEIF LEI, registered legal name, country, entity status, and SEC EDGAR CIK.

Prompt: Use resolve_company_identity on Anthropic with countryCode US. Give me the LEI, the exact registered legal name, the country, the entity status, and the EDGAR CIK.

A live run returns:

LEI:         984500B6DEB8CEBC4Z70
Legal name:  ANTHROPIC, PBC
Country:     US
Status:      ACTIVE
edgar_cik:   null

Read that last line again, because it is the most important output in this entire post.

The null is the answer

edgar_cik: null is not a miss. It is not an incomplete lookup. It is the tool telling you the truth: Anthropic has no SEC filings, so it has no CIK. The company is private. There is nothing to return, so nothing is returned.

Compare the two behaviours side by side:

Asked from memoryAsked against a registry
Anthropic’s CIKA confident ten-digit numbernull
Is it correct?NoYes
Can you tell?NoYes

A tool that says “I don’t have that” is worth more than one that guesses, and it is worth more precisely on the questions where guessing is most tempting. The record still gives you what does exist — the LEI proves the legal entity is real and active. It just refuses to invent the part that isn’t.

This generalises. Run the same call against a public company and the CIK comes back populated and correct: Apple resolves to 0000320193, Lockheed Martin to 0000936468. The tool is not being conservative. It is being accurate in both directions, which is the only thing that makes the null trustworthy when you see it.

Cost: $0.005 per company.

The manual pain: a company can present branding, a website, a deck and a demo without a registered legal entity behind the name you are being shown. Confirming that means finding the right registry for the right jurisdiction and matching a name that is probably spelled differently there than it is on the deck.

The Global Legal Entity Identifier Foundation is the authoritative source here — the LEI is the identifier the financial system itself uses. GLEIF LEI Lookup queries it directly.

Prompt: Use lookup_lei on “Apple Inc.” with matchesPerName 3. I want the LEI code, registration status, entity status, legal address and jurisdiction.

A live run returns LEI HWUPKR0MPOU8FGXBT394, legal name “Apple Inc.”, status ACTIVE, jurisdiction US-CA, along with the registered address and the entity’s BIC.

Two things to actually look at, neither of which is the LEI itself:

  • Registration status. LAPSED means nobody renewed the registration. That is not proof of anything on its own, but it is a question worth asking out loud.
  • Jurisdiction and registered address. Compare it to the deck. If the deck says San Francisco and the registry says somewhere else entirely, that is not a problem — it is a conversation.

Cost: $0.005 per LEI record.

Step 3: Read what the filings actually say

The manual pain: EDGAR full-text search is free and public and genuinely good. It is also a web form that returns a paginated list, and reading twenty-five 10-K excerpts to find the three that mention a specific risk is an afternoon.

This step only applies to public companies — which, per Step 1, you now know for certain rather than assuming.

SEC EDGAR Full-Text Search searches across the filing text itself, not just company metadata.

Prompt: Use search_sec_filings for “supply chain concentration risk” with filingType 10-K and dateFrom 2024-01-01, maxResults 25. Then read the hits and tell me which companies name a single-source dependency, and quote the sentence.

The value is not the search. It is that Claude reads all twenty-five hits and reports what they say — including that a filing you expected to mention something does not. A 10-K is a document a company signed its name to under penalty. It is the highest-grade evidence available about a public company, and almost nobody reads more than the headline numbers.

Cost: $0.003 per filing hit.

Step 4: Funding and investors

The manual pain: funding claims in a deck are stated as a total, because the total is the flattering number. What you want is the shape: how much, when, from whom, and how long ago the last one was.

Prompt: Use search_crunchbase for the company, maxResults 5. I want total funding, the last round type, the date of the last round, and the named investors.

Last-round date is usually more informative than total raised. A company that raised eighteen months ago and is hiring hard is in a very different position from one that raised last month, and both look identical if you only read the total.

Note: Crunchbase is a browser-based scrape and takes longer than a single request can wait. The tool hands back {status: "pending", run_id} and Claude collects it with get_run_results a few seconds later. You will see it do this automatically — that is expected, not an error.

Cost: $0.0133 per company.

Step 5: Is the engineering real?

The manual pain: every deck says “AI-native platform.” No deck has ever said “AI-native platform, four contributors, last meaningful commit in March.” You cannot get that from the deck, because the deck is the wrong instrument.

GitHub Repo Intelligence reads public repos: contributor counts, commit cadence, release history, language breakdown, open issues.

Prompt: Use analyze_github_repos on their five main public repos with includeReadme true. For each: how many real contributors, when was the last release, how active is the commit history, and what is the actual stack.

Public repos are a partial view — plenty of serious companies build in private, and an empty GitHub org proves nothing. But when a company points at its open source as evidence of engineering depth, that evidence is checkable, and checking it takes one call.

Cost: $0.002 per repo.

Step 6: Where the money is actually going

The manual pain: headcount and hiring are the parts of a company’s plan that cost real money to fake. But reconstructing them means the LinkedIn page in one tab and the careers board in another, and the careers board is usually a rendered widget you cannot read cleanly.

Two tools, two halves of one question.

Prompt: Use get_linkedin_company on the company for the firmographics — headcount, headcount growth, industry, HQ, founded. Then use scrape_ats_jobs with the company’s ATS slug, maxResults 40, and give me every open role with title, department and location.

LinkedIn Company Details gives you the shape of the org. ATS Jobs reads the company’s own Greenhouse, Lever, Ashby or Workday board — the source, not an aggregator’s copy of it.

Then the step that only works because Claude has all of it at once:

Prompt: Read every one of those job descriptions. Where is this company actually spending? Break the open roles down by function. Then compare that to what the deck claims the next twelve months are about, and tell me specifically where the two disagree.

Open roles are the most honest roadmap a company publishes. A deck describes intent. A req describes a budget line someone approved. If the deck is about enterprise expansion and every open role is a support engineer, the roles are telling you the truer story — and unlike the deck, they are not written for you.

Cost: $0.004 per company + $0.001 per job.

What it actually costs

Real per-result prices, for one company diligenced properly:

StepToolRateVolumeCost
Identityresolve_company_identity$0.005/company1$0.005
Legal entitylookup_lei$0.005/record1$0.005
Filingssearch_sec_filings$0.003/hit25$0.075
Fundingsearch_crunchbase$0.0133/company1$0.0133
Engineeringanalyze_github_repos$0.002/repo5$0.010
Firmographicsget_linkedin_company$0.004/company1$0.004
Hiringscrape_ats_jobs$0.001/job40$0.040
Total$0.1523

Fifteen cents. A full evidence-grounded pass on one company — legal identity confirmed against GLEIF, filings read rather than skimmed, funding shape, engineering activity, and the hiring plan — for fifteen cents. A data terminal seat that answers a subset of these questions is billed in thousands of dollars a year, per seat.

You pay per result delivered. A search that returns nothing costs nothing, which is exactly the incentive you want on a tool whose most valuable output is sometimes null.

The honest part

This does not tell you whether to invest. It is not financial advice, it is not a recommendation, and it does not have an opinion about the company. It gathers facts. What you do with them is your judgement and your responsibility.

It also will not catch a competent liar in the places that matter most. Registries confirm that an entity exists, not that its revenue is real. GitHub shows public work, not private work. A clean LEI, an active status and forty open roles are all perfectly compatible with a bad business.

And nothing here replaces a conversation, a reference call, or a data room.

What it removes is the layer underneath all of that — the basic factual grounding you were previously either paying a terminal for, doing by hand across six tabs, or, worse, asking a model to recall. That last one is the dangerous one, because it is fast, it is free, it is fluent, and you cannot tell when it is wrong.

The difference between an AI that remembers and an AI that verifies is not intelligence. It is whether you gave it somewhere to look.


Tools used: Company Identity Resolver · GLEIF LEI Lookup · SEC EDGAR Full-Text Search · Crunchbase · GitHub Repo Intelligence · LinkedIn Company Details · ATS Jobs

All of them are available as one MCP endpoint.

Related Actor

Explore the scraper referenced in this article — see inputs, outputs, and pricing, then run it on Apify.

Frequently asked questions

Why does an AI model get identifiers like CIKs and LEIs wrong? +

Because it is recalling, not looking up. A CIK is a ten-digit string with no internal logic — nothing about it can be reasoned out, and a model that has seen thousands of similar strings will produce something that has the right shape and the wrong digits. It will say it confidently, because confidence and correctness are separate things in a language model. The fix is not a better model. It is handing the model a registry to check against.

What does it cost to diligence one company properly? +

About $0.15 for a full pass — legal identity, LEI registry record, 25 filing hits, funding history, five repos, the LinkedIn company record, and 40 open roles. You pay per result delivered, and nothing for a search that returns nothing. Compare that to a data terminal seat, which is billed in thousands per year.

The tool returned edgar_cik: null. Is that a bug? +

Almost certainly not. A private company has no SEC filings and therefore no CIK. Null is the correct answer, and it is a useful one — it tells you the company is not an SEC registrant. If you want to confirm the entity is real, the LEI in the same response does that job. A tool that returns nothing when there is nothing is behaving properly.

Is this financial advice? +

No. This is a data gathering workflow. It tells you what the registries, filings and public records actually say about a company. It does not tell you whether to invest, partner, or walk away, and nothing here should be read as a recommendation to do any of those things. Verifying facts is a step before a decision, not the decision.