Llama Cloud Services
Python SDK for LlamaCloud's document parsing, extraction, and managed index services
Repository Health
Technical Analysis
Llama Cloud Services is the Python client SDK for LlamaCloud, LlamaIndex’s hosted platform for document AI. It bundles three services behind a single package: LlamaParse, a GenAI-native document parser for complex PDFs and office documents; LlamaExtract, an agentic structured-data extractor that turns unstructured documents into typed JSON; and LlamaCloud Index, a managed, automated ingestion and retrieval pipeline for RAG applications.
The package is a thin, typed wrapper around LlamaCloud’s hosted API — installation and setup is a single pip install plus an API key, with EU-region endpoints available for data residency. It is widely used as the parsing/extraction layer in RAG and agentic document-processing pipelines built on top of LlamaIndex or standalone. Note: as of this writing the maintainers have marked this repository as deprecated in favor of a new llama-cloud package (run-llama/llama-cloud-py), though llama-cloud-services remains published and in active use.
What You Get
LlamaParseclient for GenAI-native parsing of complex PDFs, Word docs, PowerPoint, and other formats into markdown or structured outputLlamaExtractclient for turning unstructured documents into typed, schema-defined JSON via an agentic extraction pipelineLlamaCloudIndexclient for a fully managed, automated document ingestion and retrieval pipeline for RAG- Built-in EU region support (
EU_BASE_URL) for teams with data-residency requirements - A CLI (
llama_cloud_services/parse/cli) for parsing documents from the command line without writing Python
Common Use Cases
- Parsing complex, layout-heavy PDFs (tables, forms, scanned documents) into clean markdown for downstream LLM consumption
- Extracting structured JSON (invoices, contracts, forms) from unstructured documents for automated data-entry pipelines
- Standing up a managed RAG retrieval index without operating your own vector store or ingestion pipeline
- Adding a document-parsing preprocessing step to an existing LlamaIndex or LangChain RAG pipeline
Under The Hood
Architecture: The package (py/llama_cloud_services/) is organized as one subpackage per service — parse/ (with its own cli/ and types.py), extract/ (extract.py, utils.py), and index/ — each wrapping HTTP calls to the corresponding LlamaCloud API endpoint behind a typed client class, with constants.py centralizing default base URLs (including the EU endpoint) and a beta/ package for services still under active iteration.
Tech Stack: Pure Python, built with hatchling as the build backend and uv for dependency locking (uv.lock). The repo is a pnpm-workspace monorepo that also ships a parallel TypeScript client (ts/) alongside the Python package, sharing docs and examples across both language SDKs.
Code Quality: 24 test files across tests/ and unit_tests/, plus mypy type checking and pre-commit hooks configured in the dev dependency group, indicating a maintained CI/quality bar even as the repo transitions toward deprecation. The MIT license and clear per-service module boundaries keep the codebase easy to navigate.
API Design: Getting started is a single pip install llama-cloud-services plus one API key shared across all three service clients, with a consistent constructor pattern (api_key=, optional base_url=) across LlamaParse, LlamaExtract, and LlamaCloudIndex. Documentation is split across per-service quickstart guides rather than one combined reference, and the package now carries a prominent deprecation notice directing new users to the successor llama-cloud package, which is worth factoring into any new adoption decision.