GenAI-native cloud document parser by LlamaIndex for RAG-optimized output. Parses PDFs, PPTX, DOCX, XLSX, HTML and more into markdown, text, or structured JSON with accurate table extraction and multimodal support. Cloud API service — requires an API key from cloud.llamaindex.ai. NOT a local/offline tool. CRITICAL: The llama-parse package (and its successor llama-cloud-services) are DEPRECATED as of early 2026. The replacement is 'llama-cloud' (pip install llama-cloud), which targets LlamaParse API v2. The old packages are maintained until May 1, 2026 only.
Install & Compatibility
Where this runs
tested against v0.6.94 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.10
9/15 runs
9/15 runs
py 3.11
9/15 runs
9/15 runs
py 3.12
9/15 runs
9/15 runs
py 3.13
9/15 runs
9/15 runs
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
LlamaParse
✓ from llama_cloud import Client
✗ from llama_cloud import LlamaParse
Cloud API — requires internet and valid API key. Free tier available. For notebooks, call nest_asyncio.apply() before using sync methods or use aload_data() for async.
# NEW API (llama-cloud, v2) — recommended
# pip install llama-cloud
import os
from llama_cloud.services.parse import LlamaParse
parser = LlamaParse(
api_key=os.environ["LLAMA_CLOUD_API_KEY"],
tier="cost_effective", # fast | cost_effective | agentic | agentic_plus
result_type="markdown",
)
documents = parser.load_data("./my_file.pdf")
print(documents[0].text[:500])
# ---
# OLD API (llama-parse, v1) — deprecated, works until May 2026
# pip install llama-parse
import nest_asyncio
nest_asyncio.apply() # required in notebooks
from llama_parse import LlamaParse
parser = LlamaParse(
api_key=os.environ["LLAMA_CLOUD_API_KEY"],
result_type="markdown",
num_workers=4,
verbose=True,
)
documents = parser.load_data("./my_file.pdf")
documents_batch = parser.load_data(["./file1.pdf", "./file2.pdf"])
documents_async = await parser.aload_data("./my_file.pdf")
Debug
Known issues
breakingllama-parse and llama-cloud-services are DEPRECATED. Both packages will receive no new features and are maintained only until May 1, 2026. New LlamaParse API v2 features are only available in the 'llama-cloud' package.fixMigrate to: pip install llama-cloud. New import: from llama_cloud.services.parse import LlamaParse. Review the v1→v2 migration guide at developers.llamaindex.ai.
affects: all llama-parse versions, all llama-cloud-services versions
breakingLlamaParse API v2 changed target_pages from 0-based indexing to 1-based indexing. Code using target_pages='0,1,2' (v1) must be updated to target_pages='1,2,3' (v2). Silent wrong results if not updated.fixAdd 1 to all target_pages values when migrating from v1 to v2.
affects: all code migrating from v1 to v2
breakingv2 API removed save_images and take_screenshot boolean flags. Replaced by images_to_save parameter. In v1, save_images defaulted to True; in v2, images are NOT saved by default.fixExplicitly set images_to_save in v2 if you need images extracted. Do not assume v1 image defaults carry over.
affects: all code migrating from v1 to v2
breakingparsing_instruction parameter (v1) is deprecated. Replaced by system_prompt + user_prompt combination in v2. Old parsing_instruction values are silently ignored in v2.fixRewrite parsing_instruction content as system_prompt and/or user_prompt in v2 configuration.
affects: all code migrating from v1 to v2
gotchaLlamaParse is a cloud API — it is not a local parser. All documents are sent to LlamaIndex servers. Not suitable for sensitive/private documents without a VPC or on-prem enterprise agreement.fixFor on-prem or data-sensitive use cases, contact LlamaIndex for enterprise/VPC options. There is no self-hosted OSS equivalent.
affects: all
gotchanest_asyncio.apply() is required in Jupyter notebooks and environments that already have a running event loop (e.g., FastAPI startup). Without it, calling sync methods like load_data() raises 'This event loop is already running'.fixAdd import nest_asyncio; nest_asyncio.apply() at the top of any notebook or async-host environment. New llama-cloud SDK has improved sync/async handling.
affects: all (old llama-parse API)
gotchallama-parser (note: singular, no 'e') is a completely different, unmaintained package on PyPI released in 2024. pip install llama-parser installs the wrong package. The correct package names are llama-parse (deprecated) or llama-cloud (current).fixAlways install: pip install llama-cloud (new) or pip install llama-parse (old/deprecated). Never llama-parser.
affects: all
gotchaParsing tiers in v2 are: fast, cost_effective, agentic, agentic_plus. Using any other string (e.g. old v1 mode names) returns: 'Unsupported tier: must be one of: fast, cost_effective, agentic, agentic_plus'.fixUse only the four valid tier strings. 'fast' is text-only spatial extraction. 'agentic_plus' is highest fidelity for complex layouts.
affects: v2 API (llama-cloud package)
breakingThe 'await' keyword can only be used inside an 'async def' function. Attempting to use 'await' directly in the global scope or a non-async function will result in a 'SyntaxError: 'await' outside function'.fixWrap asynchronous calls (e.g., `parser.aload_data()`) in an `async def` function and execute it using `asyncio.run(your_async_function())`. For interactive environments like Jupyter, consider using `nest_asyncio.apply()` at the top of your script/notebook to handle potential event loop conflicts if running `asyncio.run()` multiple times.
affects: all llama-cloud versions when using 'aload_data' in the global scope or a non-async function
Audit
Dependencies
LLAMA_CLOUD_API_KEYrequiredRequired. API key from https://cloud.llamaindex.ai/api-key. All requests fail without it. Can be set as env var or passed directly to the parser constructor.
nest_asynciooptionalRequired in Jupyter/notebook environments only. LlamaParse uses async internally; nest_asyncio patches the event loop to allow sync usage in notebooks.