Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is LlamaParse?
LlamaParse is a set of hosted document-processing APIs from LlamaIndex, reached through one API key and shared SDKs for Python, TypeScript, Go and Java. Rather than a single parser, the documentation describes five separate products on that same key: Parse, Extract, Classify, Split and Index. You can use one alone or chain them, for example splitting a combined file first and then extracting fields from each section.
What each API does
- Parse — converts PDFs, scans, tables and charts across 130+ formats into clean markdown, text or JSON. This is the entry point if your problem is "get usable text out of messy files."
- Extract — returns JSON shaped to your own schema, with citations pointing back to the page. Useful when you need fields, not prose.
- Classify — sorts documents by type using natural-language rules, with no training data required.
- Split — breaks combined files into logical sections before you parse or extract.
- Index — manages ingestion, embedding and retrieval so you can run RAG over a document set.
Who it suits
Teams building document pipelines where the output feeds something downstream — a database, a search index or an LLM — rather than people who just want to read a PDF. The one-key, multi-language SDK design lowers the cost of trying it: the documented quickstart claims a first result in under a minute, and samples run as written once LLAMA_CLOUD_API_KEY is set.
The trade-off is that it is a hosted service, so documents leave your environment, and it is several products rather than one — you need to decide which APIs your workflow actually needs instead of adopting all five. If you only need text extraction from clean digital PDFs, a local library may be simpler; the value here shows up with scans, tables, charts and schema-shaped extraction.
Next step: identify your worst input type first. If it is scanned or table-heavy documents, start with Parse alone and inspect the markdown quality; if you already get clean text but need structured fields, start with Extract and define your schema. The quickstart and pricing pages are at LlamaParse documentation.
How do I get started with LlamaParse and obtain an API key?
Get an API key from the LlamaParse developer console, then install the SDK and run a sample. The documentation states one API key works across all five document APIs — Parse, Extract, Classify, Split and Index — with SDKs for Python, TypeScript, Go and Java. The quickstart is designed to give a first result in under a minute.
Practical setup path
- Create an account and generate a key in the LlamaCloud console (the docs link to "Get API key").
- Set it as the environment variable
LLAMA_CLOUD_API_KEY— the sample code reads this automatically. - Install the SDK for your language, then run a Parse example on a PDF to see markdown output.
- Once Parse works, add Extract if you need schema-shaped JSON, or Classify/Split if your files are mixed or combined.
The documented Python flow is: create a client, upload a file with purpose parse, call client.parsing.parse(...) with a tier such as agentic and expand=["markdown"], then read result.markdown.pages[0].markdown.
A concrete first scenario
You have a folder of supplier invoices and scans. Start by parsing one PDF to markdown to confirm the key and SDK work end to end. If the output looks right, chain Split to break multi-invoice files into sections, then Extract to pull fields like invoice number and total into your own JSON schema. The docs note Extract returns citations back to the page, which matters if a human has to verify amounts.
Choosing where to start
| Your situation | Start with |
|---|---|
| PDFs/scans need text or markdown | Parse |
| You need typed fields in your own schema | Extract (after Parse) |
| Mixed document types in one queue | Classify |
| One file contains several documents | Split |
| You are building retrieval over a document set | Index |
Pricing and usage details live on the documentation's own Pricing and Billing pages — check those before moving from a sample to production volume, since tiers and page counts affect cost.
Next step: run the Parse sample as written, confirm you get markdown, then open the Extract example and map one real document to your schema.
How does LlamaParse pricing and billing work?
LlamaParse is billed through the LlamaCloud platform: you use one API key across all five document APIs (Parse, Extract, Classify, Split, Index), and usage is tracked against that key. The documentation separates Pricing (what each product costs) from Billing and Usage (how consumption is measured and charged), which is the right split to understand: the first tells you the rate, the second tells you what counts.
What the documentation makes clear:
- One key, five products. Parse, Extract, Classify, Split and Index are separate APIs on the same key and SDK, so costs accumulate per API call rather than per account.
- Parse has tiers. Sample code passes
tier = "agentic"for agentic OCR across 130+ formats. Higher-capability tiers generally cost more per page than basic parsing, so tier choice is the main cost lever for Parse. - Extract returns schema-shaped JSON with citations, meaning you pay for the extraction pass on top of any parsing you do first.
- Chaining multiplies calls. The docs suggest chaining, e.g. Split then Extract. Each step in a chain is billable usage, so a three-step pipeline costs more than a single Parse call on the same file.
Check the current rates and usage definitions here: LlamaParse Pricing and Billing and Usage.
Practical decision criteria
| Situation | Likely cheaper approach |
|---|---|
| Clean digital PDFs, simple text | Basic Parse, skip agentic tier |
| Scanned forms, tables, charts | Agentic Parse — accuracy usually justifies the tier |
| Need specific fields only | Extract directly, avoid parsing the whole document first |
| Mixed document bundle | Split first, then parse only relevant sections |
| Large corpus for retrieval | Index once; repeated queries shouldn't re-parse |
A concrete next step
Take one representative document from your workload and run it through Parse at the default tier, then again at the agentic tier. Compare output quality against the difference in reported usage. If the basic tier already produces clean markdown for your file types, you avoid paying for agentic OCR on every page. If your files are scans or complex tables, the accuracy gain is usually the deciding factor.
For budgeting, estimate pages × calls per page rather than documents. A pipeline that splits, parses and extracts a 40-page report can generate far more billable usage than the page count alone suggests.
Which SDK should I use for LlamaParse in Python, TypeScript, Go, or Java?
Use the SDK that matches your application's runtime; LlamaParse exposes the same document APIs across all four, so this is a language-fit decision rather than a feature decision.
Python — the default choice if your pipeline already lives in Python (data processing, notebooks, RAG stacks). The documentation's runnable samples are shown in Python first, so copy-paste verification is fastest here.
TypeScript — pick this when parsing happens inside a Node service, a serverless function, or a web backend. The docs show TypeScript samples alongside Python and cURL, so the same quickstart applies.
Go — suited to backend services where you want a compiled binary and straightforward concurrency when sending many documents through Parse or Extract.
Java — the fit for JVM-based enterprise systems, Spring services, or teams standardizing on one language across an existing codebase.
| Your situation | Sensible pick |
|---|---|
| Prototyping, notebooks, RAG pipelines | Python |
| Node/serverless API or web backend | TypeScript |
| High-throughput compiled service | Go |
| Existing JVM/Spring platform | Java |
Two practical notes. First, the SDK is only the client — the key and the hosted APIs are shared, so you can start in one language and move later without changing how documents are processed. Second, these are separate APIs on one key: you can call Parse alone, or chain products such as Split then Extract, and the SDK choice doesn't restrict that.
Next step: open the quickstart, set LLAMA_CLOUD_API_KEY, install the SDK for your runtime, and run the Parse sample against one real document from your own corpus — a scanned PDF or a file with tables will tell you more than a clean sample file. If you later need retrieval over the parsed output, compare the Index product before committing to your own embedding pipeline. See LlamaParse documentation.
How can I extract structured, schema-shaped data from documents with citations using LlamaParse?
Use the Extract API in LlamaParse: you define the JSON schema you want, and it returns typed, schema-shaped data with citations pointing back to the source page. It runs on the same API key and SDK as the other LlamaParse products, so you can call it standalone or chain it after Split when a combined file needs segmenting first.
A typical flow for something like a quarterly report:
- Get an API key and install the SDK (Python, TypeScript, Go or Java).
- Send the document to Extract with your schema — for example
name,email,skillsfor a résumé, or revenue by region for a report. - Read the returned JSON fields alongside the citation for each value.
The citations are the practical differentiator. In the documentation's example, a question like "What was the Q3 revenue by region?" resolves to sources such as a financial summary on p.4, a regional performance table on p.7 and a management discussion on p.2, each with a confidence score. That means you can show a reviewer where a number came from instead of asking them to trust the output.
When this fits
- Downstream automation: invoices, contracts, purchase orders and receipts where you need fixed fields, not prose.
- Human-in-the-loop review: citations make spot-checking fast, which matters when a wrong figure is costly.
- RAG pipelines: pair Extract with Index if you also need retrieval over the wider document set.
Trade-offs to weigh
Schema-shaped extraction pushes you to decide your fields up front; a loose schema gives you less usable output, while an over-specific one can drop information the document does contain. Citations also add review overhead if you never intend to check the source. If your goal is simply clean text, Parse alone is the lighter option.
Next step: check the Extract example in the quickstart and the pricing and billing pages before committing to volume, since cost scales with usage rather than being a flat fee.
Can I chain LlamaParse APIs like Split and Extract together, and what workflows does that enable?
Yes. LlamaParse's five document APIs share one API key and one SDK, so you can run them in sequence rather than treating each as a standalone tool. The documentation explicitly describes chaining them — its own example is Split, then Extract — and notes you can also use any single API on its own.
What each step contributes
- Split breaks a combined file into logical sections, returning page ranges per section. This is the natural first step for a bundle like a scanned closing set or a quarterly packet holding several reports.
- Parse converts PDFs, scans, tables and charts across 130+ formats into clean markdown, text or JSON.
- Extract pulls typed, schema-shaped data out of documents and returns citations back to the page.
- Classify sorts documents by type using natural-language rules, with no training data required.
- Index handles managed ingestion, embedding and retrieval for RAG over your document set.
A concrete chained workflow
Imagine an accounts-payable team receiving one scanned PDF per vendor containing an invoice, a purchase order and a contract. Split separates the three sections by page range; Classify labels each section so downstream logic knows what it is; Extract then fills a typed invoice schema (vendor, amount, due date) from just the invoice pages, with citations pointing back to the source page for review. Indexing the same set afterwards makes the invoices searchable for later questions.
Deciding whether to chain
| Situation | Sensible approach |
|---|---|
| One clean, single-purpose PDF | Parse alone, or Extract alone |
| Mixed bundle, one target document type | Split, then Extract |
| Mixed bundle, unknown contents | Split, then Classify, then Extract |
| Downstream search or Q&A needed | Add Index after extraction |
Chaining costs more calls and adds latency, so only add a step when the input genuinely needs it. The trade-off is precision versus simplicity: splitting first narrows what Extract sees, which usually improves accuracy on messy bundles but is wasted effort on a clean single document.
Next step: open the quickstart, set LLAMA_CLOUD_API_KEY, and run the Split sample against one of your own combined files to see the page ranges it returns before wiring Extract behind it.
User reviews (0)