We read Anthropic’s S‑1 the way Wall Street will
Anthropic filed its S-1 this morning. We pointed bem at all 420 pages and the exhibits: classify, split, extract, enrich, evaluate, shape, send, join, render and parse, plus an ontology, a knowledge graph, and a chatbot on the File System API. Every output is here.

Anthropic, PBC filed its registration statement with the SEC this morning: 420 pages of prospectus and 34 exhibits. Before most people finished the cover page, bem had classified it, cut it into sections, pulled out every number an analyst needs and checked its own work. It also matched every counterparty against public comps and SEC EDGAR, built a knowledge graph across the exhibits, drafted an initiation-of-coverage note as a Word document, and stood up a chatbot that answers questions with page citations.
This post walks through every step, with the real outputs. Everything below was produced by bem’s public v3 API in production, on the filing as it appeared on EDGAR.
The document: 420 pages, 34 exhibits, and a lot of blanks
An S-1 is the hardest document in finance to read quickly. It mixes legal prose, risk disclosures, audited tables, marketing gatefolds, charts drawn as images, and dozens of exhibits, each a contract in its own right. Anthropic’s is no exception. Many of its biggest numbers are left blank (“$ ”) until the offering is priced.
We downloaded the filing (accession 0001628280-26-067168) and rendered it to a 30 MB PDF that keeps EDGAR’s page layout. Below is every page, colored by how bem’s split function divided it: no page numbers, no table of contents, only the content. Hover a page to see its section.


One workflow, ten function types
The analyst desk is a single bem workflow, anthropic-s1-analyst, with 22 nodes. One PDF goes in. It fans out across eight sections, runs nine extractors in parallel, enriches the outputs, grades them, reshapes them, and delivers them. Two companion workflows handle the rest: anthropic-s1-memory parses the S-1 and exhibits into a navigable knowledge graph, and anthropic-s1-initiation-note joins every extraction into a research note and renders it to .docx.
| Primitive | What it did |
|---|---|
| classify | S-1 vs 10-K vs 10-Q vs 8-K vs proxy, with an error fallback. |
| split | 420 pages into 20 pieces across 9 section types, each routed to its own extractor. |
| extract | Nine extractors in parallel, from images too. Bounding boxes on the audited statements. |
| enrich | Risks → a 22-category analyst taxonomy. Counterparties → public comps and SEC EDGAR. |
| evaluation | Per-field confidence, hallucination flags, rationale and suggested values, in the graph or on demand. |
| payload shaping | Chart series, graph edges and render primitives, computed deterministically. |
| send | Signed webhooks out of the middle of the graph. S3 and Google Drive work too. |
| join | Nine extraction outputs in, one initiation-of-coverage schema out. |
| render | Placeholders and styles defined in Word, filled by the workflow. |
| parse | Navigable memory over 12 documents, with an ontology, a bucket and the File System API. |
Classify, then split where a human would
Classify looks at the cover and routes the file. A real desk receives 10-Ks, 10-Qs, 8-Ks and proxies through the same entry point. This one came back s1_registration_statement in 29 seconds, so the workflow sent it down the S-1 branch.
Split (semantic_page) then read all 420 pages and cut them into 20 contiguous pieces across nine section types, in 2 min 47 s. Each piece went to its own extractor. Every boundary matches the printed table of contents: Risk Factors runs from printed page 26 to 120 (PDF pp. 37–131), and the F-pages start at PDF p. 346.
{ "functionName": "s1-section-splitter", "type": "split", "splitType": "semantic_page", "semanticPageSplitConfig": { "itemClasses": [ { "name": "risk_factors", "description": "The 'RISK FACTORS' section: bolded risk headings and their explanations", "nextFunctionName": "s1-risk-factors" }, { "name": "mdna", "description": "MD&A: key metrics, results of operations, liquidity, contractual obligations", "nextFunctionName": "s1-mdna-kpis" }, { "name": "financial_statements", "description": "Audited financial statements: pages numbered F-1 onward", "nextFunctionName": "s1-financial-statements" } ]}}Extract: every number, with a pointer to where it came from
Nine extract functions ran in parallel, each with its own focused JSON Schema: offering terms, financial statements, MD&A KPIs, compute commitments, risk factors, business counterparties, governance and pay, ownership, and offering mechanics. MD&A feeds two of them, because one schema that tries to do everything does each job worse. The financial statements run with enableBoundingBoxes, so every value carries its location on the page.
Try it: click any number below, and bem’s bounding box lights up on the actual page of the audited income statement.
What the numbers say
H1 2026 shows a $80.7B net loss on $16.3B of revenue. But 90% of that loss is the remeasurement of convertible notes and SAFEs, a figure that grows as Anthropic’s valuation rises. The operating loss was just $693M, and operating cash flow turned positive at +$3.9B, against −$1.5B a year earlier.
| Line item | FY2023 | FY2024 | FY2025 | H1 2025 | H1 2026 |
|---|---|---|---|---|---|
| Revenue | 41 | 386 | 4,585 | 1,163 | 16,286 |
| Compute & infrastructure | 433 | 2,522 | 7,326 | 2,334 | 8,945 |
| Personnel | 95 | 454 | 1,839 | 538 | 3,152 |
| Sales, marketing & partnerships | 2 | 43 | 568 | 120 | 3,168 |
| Other operating & admin | 62 | 347 | 1,412 | 306 | 1,714 |
| Operating loss | -551 | -2,980 | -8,060 | -2,135 | -693 |
| Δ fair value of convertibles | -1,045 | -5,434 | -34,308 | -10,942 | -72,388 |
| Net loss | -1,531 | -8,309 | -41,965 | -12,969 | -80,748 |
Data that only exists inside a picture
The MD&A’s best numbers aren’t in the text at all. The quarterly revenue, compute spend and margin series exist only as charts embedded as images. bem read them off the images. Below, on the left, is the original chart from the filing; on the right are the series bem extracted, re-plotted.

The compute commitments
A dedicated extractor pulls every named compute, lease and hardware arrangement out of MD&A. The prospectus leaves the aggregate blank pending pricing, but the individual deals are all there.
| Provider | Commitment | Type | Term |
|---|---|---|---|
| Broadcom | $161.2B | equipment lease | five-year master equipment leases |
| SpaceXAI | $120.5B | gpu services | extending into 2029 |
| $114.5B | cloud service provider | April 2026 and July 2033 | |
| Amazon | $110.0B | cloud service provider | May 2026 and April 2036 |
| Microsoft | $44.9B | cloud service provider | November 2026 and May 2033 |
| Nscale | $44.6B | gpu services | extending into 2033 |
| Lambda | $41.3B | gpu services | extending into 2034 |
| AMD | $20.0B | hardware purchase | calendar year 2027 |
Enrich: risks to a taxonomy, counterparties to tickers
A list of risk factors doesn’t make an analysis. To compare companies you have to map each risk onto a fixed taxonomy. We loaded a 22-category sell-side risk taxonomy into a bem collection. Each category carries an analyst severity weight and the question we’d ask on the roadshow. An enrich function then matched every extracted risk to it with hybrid search and an LLM re-rank.
| Category | Risks | Severity | Roadshow question |
|---|---|---|---|
| Copyright and training-data litigation | 6 | 4/5 | What remaining copyright suits are pending and reserved? |
| AI-specific regulation | 6 | 3/5 | Which jurisdictions impose obligations on frontier models in the next 24 months? |
| Cash burn and capital intensity | 4 | 4/5 | What is the path to positive operating cash flow? |
| Model misuse and safety incidents | 4 | 4/5 | What safety levels gate deployment and how often have they delayed launches? |
| Controlled company and dual governance | 4 | 4/5 | Under what conditions can public holders replace the board? |
| Public benefit corporation trade-offs | 4 | 3/5 | How has the PBC purpose changed a commercial decision historically? |
| Take-or-pay compute commitments | 3 | 5/5 | How much of the committed spend is cancellable and how does it scale vs revenue scenarios? |
| Stock dilution and share overhang | 3 | 3/5 | Shares unlocking in the first 180 days? |
| Accounting controls and newly public company | 3 | 2/5 | Any material weakness identified? |
| Frontier capability race | 2 | 5/5 | How long has each model generation held the lead, and what is the R&D cadence? |
| Customer and channel concentration | 2 | 4/5 | Top-10 customer share and marketplace share of revenue? |
| Key person and talent | 2 | 3/5 | Retention of the research leadership post-lockup? |
| Export controls and geopolitics | 2 | 3/5 | What revenue is exposed to restricted geographies? |
| Compute supply concentration | 1 | 5/5 | What share of 2027 compute is single-sourced and what are the termination rights? |
A second enrich function took every company the Business section names and ran two lookups. It searched a public-comps collection, then called SEC EDGAR’s company search live as an external endpoint, with an LLM choosing the right registrant. Matches the re-ranker didn’t confirm are left blank. That’s the right answer for private firms, and for names too ambiguous to resolve.
| Named in the S-1 | Relationship | Public comp | SEC registrant (live) |
|---|---|---|---|
| World Health Organization | government | — | — |
| AWS | compute partner | Amazon.com, Inc. (AMZN) | — |
| compute partner | Alphabet Inc. (GOOGL) | Alphabet Inc. (GOOG, GOOGN, GOOGM, GOOGL) · CIK 1652044 | |
| NVIDIA | chip supplier | NVIDIA Corporation (NVDA) | — |
| AMD | chip supplier | Advanced Micro Devices, Inc. (AMD) | ADVANCED MICRO DEVICES INC (AMD) · CIK 2488 |
| GCP | distribution partner | Alphabet Inc. (GOOGL) | Alphabet Inc. (GOOG, GOOGN, GOOGM, GOOGL) · CIK 1652044 |
| Azure | distribution partner | Microsoft Corporation (MSFT) | — |
| Accenture | distribution partner | Accenture plc (ACN) | Accenture plc (ACN) · CIK 1467373 |
| Deloitte | distribution partner | — | — |
| KPMG | distribution partner | — | — |
| PwC | distribution partner | — | — |
| Salesforce | distribution partner | Salesforce, Inc. (CRM) | Salesforce, Inc. (CRM) · CIK 1108524 |
| Snowflake | distribution partner | Snowflake Inc. (SNOW) | Snowflake Inc. (SNOW) · CIK 1640147 |
| Legora | customer | — | Legora, Inc. · CIK 2071663 |
| Amazon | compute partner | Amazon.com, Inc. (AMZN) | — |
| Microsoft | compute partner | Microsoft Corporation (MSFT) | — |
| SpaceXAI | compute partner | — | — |
| Nscale | compute partner | Nscale (private) | NSCALE LP · CIK 2070285 |
| Lambda | compute partner | Lambda, Inc. (private) | Lambda, Inc./DE · CIK 1954966 |
| Fluidstack | compute partner | Fluidstack (private) | — |
| AIG | customer | American International Group, Inc. (AIG) | AMERICAN INTERNATIONAL GROUP, INC. (AIG) · CIK 5272 |
| Bristol Myers Squibb | customer | Bristol-Myers Squibb Company (BMY) | — |
| DoorDash | customer | DoorDash, Inc. (DASH) | DoorDash, Inc. (DASH) · CIK 1792789 |
| International Rescue Committee | customer | — | — |
| Jane Street | customer | — | JANE STREET GROUP, LLC · CIK 1595888 |
| Lilly | customer | Eli Lilly and Company (LLY) | — |
| Mercado Libre | customer | — | — |
| Mozilla | customer | — | — |
| PayPal | customer | PayPal Holdings, Inc. (PYPL) | PayPal Holdings, Inc. (PYPL) · CIK 1633917 |
| Rakuten | customer | Rakuten Group, Inc. (4755) | Rakuten Group, Inc. · CIK 1294591 |
| SAP | customer | SAP SE (SAP) | SAP SE (SAP, SAPGF) · CIK 1000184 |
| Shopify | customer | Shopify Inc. (SHOP) | SHOPIFY INC. (SHOP) · CIK 1594805 |
| Travelers | customer | The Travelers Companies, Inc. (TRV) | — |
| UST | customer | — | — |
| Verizon | customer | Verizon Communications Inc. (VZ) | VERIZON COMMUNICATIONS INC (VZ) · CIK 732712 |
| CAISSI | government | — | — |
Evaluate: a second model grades every field
We wired evaluation nodes behind the financial statements, MD&A, compute commitments, offering snapshot and risk factors, and behind the join that writes the note. Each one grades every field: a confidence score, a hallucination flag, a written rationale, and a suggested value when it disagrees. Evaluation also runs on demand (POST /v3/eval) against any past extraction.
| Node | Fields graded | Mean confidence | Flags |
|---|---|---|---|
| Financial statements | 250 | 0.996 | none |
| MD&A key metrics | 91 | 0.987 | 1 hallucination flag(s); incomplete: /revenueMix |
| Compute commitments | 82 | 0.985 | 1 hallucination flag(s); incomplete: /arrangements |
| Risk factors | 626 | 0.963 | 1 hallucination flag(s); incomplete: /risks/40/namedCounterparties |
| Offering snapshot (piece) | 62 | 0.995 | none |
| Offering snapshot (piece) | 117 | 0.996 | none |
| Initiation note (join) | 97 | 0.993 | none |
The judge earned its keep, and so did iterating. On the first run it flagged that the offering snapshot had captured only 6 of the 22 underwriters in the syndicate, and that the MD&A revenue mix was incomplete. Those flags fed straight into new versions of the functions: every PATCH /v3/functions/{name} creates an immutable version, and PATCH /v3/workflows/{name} pins the workflow to them. We also learned to keep each schema focused. Pulling compute commitments into a dedicated extractor took coverage from six of the compute deals to all nine.
Shape, send, join, render: from fields to a finished note
Payload shaping runs JMESPath with no model in the loop. It turns the financial statements into chart-ready series and the governance extraction into graph edges, and send nodes deliver both downstream as signed webhooks.
Then the second workflow takes over. A join fuses the nine extractions into one schema: thesis, bull and bear cases, top risks, governance, compute, and roadshow questions. Payload shaping converts that into render primitives, and render fills a Word template we designed. The result is a real .docx initiation-of-coverage note, delivered by send, with its own LLM judge on the join.
// s1-initiation-note-shape: JMESPath, no LLM{ TITLE: title, RATING: rating, THESIS: thesis[*].{paragraph: {text: @, styleId: 'Normal'}}, KEY_NUMBERS: [{table: {rows: keyNumbers, styleId: 'TableGrid'}}], BULL_CASE: bullCase[*].{paragraph: {text: @, styleId: 'ListBullet'}}, ROADSHOW_QUESTIONS: roadshowQuestions[*].{paragraph: {text: @, styleId: 'ListNumber'}} }Download the rendered note (.docx). Every number in it comes from the extractions. Where the S-1 leaves a figure blank pending pricing, the note says so.
Parse, ontology, knowledge graph: who is connected to whom
Extraction answers questions you already know to ask. Parse is for the ones you don’t. It turns a document into page-aware sections plus named entities and the relationships between them, then links entities across documents into one memory. We parsed the prospectus and 11 exhibits into a dedicated bucket. The exhibits include the LTBT trust agreement, the Founders LLC agreement, the Broadcom equipment lease, the Morgan Stanley credit agreement, the convertible note facilities and the stockholders’ agreement.
Before parsing we defined an ontology: 22 entity types with a hierarchy and attribute schemas. We then seeded 51 canonical entities with synonyms, so “LTBT”, “the Trust” and “Anthropic Long-Term Benefit Trust” resolve to one node from the first page.
| Entity type | Parent | Attributes |
|---|---|---|
| organization | — | — |
| ai_lab | organization | — |
| compute_provider | organization | computeType, strategicInvestor |
| investor | organization | securitiesHeld, ownershipPct |
| financial_institution | organization | role |
| enterprise_customer | organization | industry, useCase |
| government_body | organization | — |
| professional_firm | organization | role |
| person | — | title |
| executive | person | title, totalCompensationUsd |
| director | person | directorClass, independent |
| ltbt_trustee | person | termEnds |
| co_founder | person | title |
| ai_model | — | family, releaseDate |
| product | — | segment |
| security_class | — | votesPerShare, economicRights |
| governance_body | — | — |
| material_agreement | — | exhibitNumber, effectiveDate |
| legal_matter | — | amountUsd, status |
| financial_metric | — | definition |
| regulation | — | — |
| facility | — | location, capacityMW |
- 12 documents parsed
- 1,035 pages
- 6,644 page-aware sections
- 2,225 entities (per-doc)
- 1,686 relationships with evidence
A chatbot on the File System API
Parsed documents are addressable through bem’s File System API (POST /v3/fs), using Unix verbs an LLM already knows: ls, grep, cat, head, stat, and the memory ops find, open and xref. Give Claude a single tool that wraps it and you have an analyst’s assistant that greps for a topic, reads the pages, follows an entity into an exhibit, and cites what it read. There’s no chunker, no embeddings and no retrieval tuning.
def bem_fs(args: dict) -> str: body = {**args, "context": {"bucket": BUCKET}} r = requests.post(BEM_FS, headers={"x-api-key": os.environ["BEM_API_KEY"]}, json=body, timeout=120) text = r.text if r.ok else f"HTTP {r.status_code}: {r.text}" if len(text) > MAX_RESULT_CHARS: # keep tool results small; Claude can page with range/limit text = text[:MAX_RESULT_CHARS] + "\n…[truncated — narrow with range.pageRange, path, or limit]" return text
def ask(question: str, client: anthropic.Anthropic, trace=print) -> str: messages = [{"role": "user", "content": question}] while True: response = client.beta.messages.create( model="claude-opus-5-5", max_tokens=16000, thinking={"type": "adaptive"}, output_config={"effort": "high"}, betas=["server-side-fallback-2026-07-01"], fallbacks="default", system=[{"type": "text", "text": SYSTEM, "cache_control": {"type": "ephemeral"}}], tools=TOOLS, messages=messages, ) if response.stop_reason == "refusal": return "(declined)" messages.append({"role": "assistant", "content": response.content}) if response.stop_reason != "tool_use": return "".join(b.text for b in response.content if b.type == "text") results = [] for block in response.content: if block.type == "tool_use": trace(f" → bem_fs {json.dumps(block.input)}") results.append({"type": "tool_result", "tool_use_id": block.id, "content": bem_fs(block.input)}) messages.append({"role": "user", "content": results})Below are six real, unedited sessions. Pick a question to see the File System API calls the model made, then its answer.
Images, too: twenty customer one-pagers
The Business section includes 20 customer case studies, each a designed image. A separate anthropic-s1-case-studies workflow sent each JPEG through one extract function, pulling out the customer, the products, every quantified result and the quote.

| Customer | Industry | Headline result | Products |
|---|---|---|---|
| Shy Bird | Hospitality & Restaurant | 60%+: Reduction in brunch ticket times, to 12 minutes | Claude |
| Accenture | Professional Services | 45,000: Accenture professionals trained on Anthropic | Claude, Claude Code, Claude Enterprise |
| Bristol Myers Squibb | Pharmaceutical | 30,000+: Employees with Claude access (all) | Claude, Claude Enterprise, Claude Code |
| AIG | Insurance | 8: AIG business lines using Claude | Claude 2.0, Claude Code, Claude Enterprise |
| DoorDash | Local commerce platforms | 100%: Claude Code and Claude Cowork are available to every corporate employee | Claude Code, Claude Cowork |
| International Rescue Committee | Humanitarian Aid | 8x: Claude user growth | Claude |
| Jane Street | global trading firm | +32%: Claude Fable 5.1 performance over Fable 5 via Jane Street's internal agentic coding eval | Claude Fable 5.1, Fable 5, Claude 3.7 Sonnet |
| Legora | Legal Tech | 1,500+: Law firms and in-house teams served | Claude Enterprise, Claude Code |
| Lilly | Medicine / Healthcare | 50,000+: Employees with access to Claude Enterprise | Claude Enterprise, Claude Science |
| Mercado Libre | E-commerce and financial technology | >100%: Merged code up year over year | Claude Code, Claude Cowork |
| Mozilla | Technology | 22: Vulnerabilities found by Claude Opus 4.6, and resolved as of Firefox 148 | Claude Code, Claude Opus 4.6, Claude Mythos Preview |
| PayPal | Digital Payments | 12,000+: Claude Enterprise monthly active users | Claude Enterprise, Claude Code |
| Rakuten | Internet and E-commerce | 70+: Business units using AI | Claude Code, Claude Managed Agents |
| Salesforce | Software and Technology | +151%: Effective output per developer year over year | Claude Code, Agentforce, Claude Tag |
| SAP | Enterprise Applications and Business AI | Up to 14% faster: Project delivery with Joule for Consultants | Claude |
| Shopify | Ecommerce | Millions: Merchants served by AI | Claude, Claude Code, Claude Fable 5 |
| Travelers | Insurance | Nearly 25k: Employees with Claude assistants | Claude, Claude Code |
| UST | Digital transformation | 20,000: Associates training on Claude worldwide | Claude, Claude Code |
| Verizon | Telecommunications | 33,000+: Engineers with Claude Code | Claude Code, Claude Mythos |
| Walmart | Retail | 110%: Growth in Sparky weekly active users quarter over quarter | Claude Sonnet 4.6 |
Fun facts
- 1 share = 50.1%. Before the offering closes, Anthropic issues exactly one share of Class F common stock, to an LLC owned by its seven co-founders. That single share carries 50.1% of the voting power on ordinary matters. It has no economic rights. (Cover page · PDF p.2)
- Five classes. Class A (one vote), Class N (non-voting, for strategic partners), Class T (held by the Long-Term Benefit Trust, which elects a board majority), Class F (the founders’ share) and Class E (employees, limited votes). Only A and N carry economic rights. (Cover page · Description of Capital Stock)
- $417B. MD&A leaves the aggregate commitment blank pending amendment. A subsequent-events note in the audited financials states it anyway: about $417 billion of new future minimum payment obligations since December 31, 2025, with terms of up to 20 years. (Notes to financial statements · subsequent events)
- $161.2B. Anthropic’s TPU equipment leases with Broadcom total about $161.2B of rent excluding interest. That is larger than any of its cloud deals: Google about $114.5B, Amazon $110.0B, Microsoft $44.9B. (MD&A · Infrastructure Service Arrangements)
- “Render unusable”. If Anthropic defaults under the Broadcom master lease, Broadcom may take possession of, or “render unusable”, any pod of equipment, “without any court order”. (Exhibit 10.11 · Section 14.02)
- 0.40× → 2.08×. Revenue per dollar of compute rose more than fivefold in five quarters, from Q1’25 to Q2’26. Adjusted operating margin went from −221% to +19%. These numbers appear only in chart images, which bem read. (MD&A charts (images))
- ~900%. Net revenue retention as of September 30, 2026. Customers who spent $100K+ grew from about 20 at the end of 2023 to more than 11,900. (Prospectus summary · MD&A)
- 90%. of the $80.7B H1 2026 net loss is the change in fair value of convertible notes and SAFEs, which grows as the valuation rises. Operating cash flow was +$3.9B. (Statements of operations · PDF p.352)
- 271 vs 22. Firefox vulnerabilities found by Claude Mythos Preview, against 22 found by Claude Opus 4.6. On ExploitBench, scores went from 40% (Opus 4.8) to 91% (Opus 5.5) in about four months. (Mozilla case study (image) · Business)
- v. Department of War. In February 2026 the Secretary of War designated Anthropic a “supply-chain risk to national security” after it refused to allow mass domestic surveillance or fully autonomous weapons. On August 27, 2026, a federal court largely granted summary judgment for Anthropic, finding the actions retaliatory. (Risk factors · PDF p.83)
- Switched off. In June 2026 the U.S. Department of Commerce imposed worldwide export restrictions on Fable 5 and Mythos 5. Anthropic disabled both models for all customers until the restrictions were lifted. (Risk factors)
- $1.5B. The Bartz settlement: a separate line on the 2025 income statement, about a third of that year’s revenue. (Statements of operations)
- 22 banks. underwriters in the syndicate, led by Goldman Sachs and Morgan Stanley. The ticker will be ANT on the Nasdaq Global Select Market. (Underwriting · Cover)
- “A country of geniuses in a data center”. The prospectus’s own description of where this is going: millions of “Virtual Collaborators” running in parallel. (Prospectus summary · PDF p.20)
- 1,368%. Year-over-year revenue growth for the quarter ended June 30, 2026. Q2 revenue was $11.6B, against $16.3B for the whole first half. (Prospectus summary · MD&A)
Build it yourself
Everything above runs on bem’s public v3 API. Here is the shape of it:
# 1. One function per job (v3 API: extract / classify / split / join / enrich / parse / payload_shaping / render / send / evaluation)curl -X POST https://api.bem.ai/v3/functions -H "x-api-key: $BEM_API_KEY" -d '{ "functionName": "s1-financial-statements", "type": "extract", "enableBoundingBoxes": true, "outputSchemaName": "FinancialStatements", "outputSchema": { "type": "object", "properties": { "incomeStatement": { … } } } }'
# 2. Wire them into a graph — split item classes and classify choices become named edgescurl -X POST https://api.bem.ai/v3/workflows -H "x-api-key: $BEM_API_KEY" -d '{ "name": "anthropic-s1-analyst", "mainNodeName": "classify_filing", "nodes": [ {"name": "classify_filing", "function": {"name": "s1-filing-classifier"}}, {"name": "split_sections", "function": {"name": "s1-section-splitter"}}, … ], "edges": [ {"sourceNodeName": "classify_filing", "destinationName": "s1_registration_statement", "destinationNodeName": "split_sections"}, {"sourceNodeName": "split_sections", "destinationName": "financial_statements", "destinationNodeName": "financial_statements"}, {"sourceNodeName": "financial_statements", "destinationNodeName": "judge_financials"}, … ] }'
# 3. Send the filing, then read every node's output from the tracecurl -X POST https://api.bem.ai/v3/workflows/anthropic-s1-analyst/call -H "x-api-key: $BEM_API_KEY" \ -F file=@anthropic-s1.pdf -F callReferenceID=anthropic-s1-2026-10-26curl https://api.bem.ai/v3/calls/$CALL_ID/trace -H "x-api-key: $BEM_API_KEY"
# 4. Browse the parsed corpus like a file systemcurl -X POST https://api.bem.ai/v3/fs -H "x-api-key: $BEM_API_KEY" \ -d '{"op": "grep", "pattern": "SpaceXAI", "context": {"bucket": "bkt_…"}}'Point the same workflow at the next S-1, or at a 10-K, a credit agreement or a fund’s quarterly letters, and the desk runs again. When the S-1/A arrives with the price range filled in, the same calls will fill the blanks.
Source: Anthropic, PBC Form S-1, filed October 26, 2026 (SEC accession 0001628280-26-067168). Figures are as filed. Many offering figures are intentionally blank pending pricing. Nothing here is investment advice.