{"id":43,"library":"llama-parse","title":"LlamaParse","description":"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.","status":"deprecated","version":"0.6.94","language":"python","source_language":"en","source_url":"https://github.com/run-llama/llama_cloud_services","tags":["llamaparse","llama-parse","llama-cloud","document-parsing","pdf-parsing","rag","llamaindex","cloud-api","ocr","table-extraction"],"install":[{"cmd":"pip install llama-cloud","lang":"bash","label":"NEW — recommended for all new projects (API v2)"},{"cmd":"pip install llama-parse","lang":"bash","label":"DEPRECATED — maintained until May 1, 2026 only (API v1)"},{"cmd":"pip install llama-cloud-services","lang":"bash","label":"DEPRECATED — intermediate package, also replaced by llama-cloud"}],"dependencies":[{"reason":"Required. 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.","package":"LLAMA_CLOUD_API_KEY","optional":false},{"reason":"Required in Jupyter/notebook environments only. LlamaParse uses async internally; nest_asyncio patches the event loop to allow sync usage in notebooks.","package":"nest_asyncio","optional":true}],"imports":[{"note":"New package is llama-cloud (pip install llama-cloud). Old import from llama_parse still works until May 2026 but points to deprecated API v1.","wrong":"from llama_parse import LlamaParse","symbol":"LlamaParse (new — llama-cloud)","correct":"from llama_cloud.services.parse import LlamaParse"},{"note":"Deprecated. No underscore variant. Package name is llama-parse, import is llama_parse.","wrong":"from llamaparse import LlamaParse","symbol":"LlamaParse (old — llama-parse / llama-cloud-services)","correct":"from llama_parse import LlamaParse"}],"quickstart":{"code":"# NEW API (llama-cloud, v2) — recommended\n# pip install llama-cloud\nimport os\nfrom llama_cloud.services.parse import LlamaParse\n\nparser = LlamaParse(\n    api_key=os.environ[\"LLAMA_CLOUD_API_KEY\"],\n    tier=\"cost_effective\",  # fast | cost_effective | agentic | agentic_plus\n    result_type=\"markdown\",\n)\n\ndocuments = parser.load_data(\"./my_file.pdf\")\nprint(documents[0].text[:500])\n\n# ---\n# OLD API (llama-parse, v1) — deprecated, works until May 2026\n# pip install llama-parse\nimport nest_asyncio\nnest_asyncio.apply()  # required in notebooks\n\nfrom llama_parse import LlamaParse\n\nparser = LlamaParse(\n    api_key=os.environ[\"LLAMA_CLOUD_API_KEY\"],\n    result_type=\"markdown\",\n    num_workers=4,\n    verbose=True,\n)\n\ndocuments = parser.load_data(\"./my_file.pdf\")\ndocuments_batch = parser.load_data([\"./file1.pdf\", \"./file2.pdf\"])\ndocuments_async = await parser.aload_data(\"./my_file.pdf\")","lang":"python","description":"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."},"warnings":[{"fix":"Migrate to: pip install llama-cloud. New import: from llama_cloud.services.parse import LlamaParse. Review the v1→v2 migration guide at developers.llamaindex.ai.","message":"llama-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.","severity":"breaking","affected_versions":"all llama-parse versions, all llama-cloud-services versions"},{"fix":"Add 1 to all target_pages values when migrating from v1 to v2.","message":"LlamaParse 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.","severity":"breaking","affected_versions":"all code migrating from v1 to v2"},{"fix":"Explicitly set images_to_save in v2 if you need images extracted. Do not assume v1 image defaults carry over.","message":"v2 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.","severity":"breaking","affected_versions":"all code migrating from v1 to v2"},{"fix":"Rewrite parsing_instruction content as system_prompt and/or user_prompt in v2 configuration.","message":"parsing_instruction parameter (v1) is deprecated. Replaced by system_prompt + user_prompt combination in v2. Old parsing_instruction values are silently ignored in v2.","severity":"breaking","affected_versions":"all code migrating from v1 to v2"},{"fix":"For on-prem or data-sensitive use cases, contact LlamaIndex for enterprise/VPC options. There is no self-hosted OSS equivalent.","message":"LlamaParse 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.","severity":"gotcha","affected_versions":"all"},{"fix":"Add 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.","message":"nest_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'.","severity":"gotcha","affected_versions":"all (old llama-parse API)"},{"fix":"Always install: pip install llama-cloud (new) or pip install llama-parse (old/deprecated). Never llama-parser.","message":"llama-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).","severity":"gotcha","affected_versions":"all"},{"fix":"Use only the four valid tier strings. 'fast' is text-only spatial extraction. 'agentic_plus' is highest fidelity for complex layouts.","message":"Parsing 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'.","severity":"gotcha","affected_versions":"v2 API (llama-cloud package)"},{"fix":"Wrap 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.","message":"The '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'.","severity":"breaking","affected_versions":"all llama-cloud versions when using 'aload_data' in the global scope or a non-async function"}],"env_vars":null,"last_verified":"2026-05-12T05:37:43.527Z","next_check":"2026-05-01T00:00:00.000Z","problems":[{"fix":"Set the `LLAMA_CLOUD_API_KEY` environment variable with a valid key obtained from cloud.llamaindex.ai, or pass the API key directly to the `LlamaParse` constructor using `api_key=\"llx-...\"`. Ensure the key is active and corresponds to the correct LlamaCloud project and region.","cause":"The `LLAMA_CLOUD_API_KEY` environment variable is not set, or the provided API key is incorrect, revoked, or used with the wrong regional endpoint.","error":"Invalid API Key"},{"fix":"Ensure `llama-parse` is installed with `pip install -U llama-parse`. Given its deprecation, it is highly recommended to migrate to `pip install llama-cloud` and update your imports and code accordingly to target LlamaParse API v2.","cause":"The `llama-parse` package is either not installed, installed incorrectly, or there are conflicting package versions. This error can also occur if attempting to use `llama-parse` functionality with the newer `llama-cloud` package but retaining old `llama_parse` imports.","error":"ModuleNotFoundError: No module named 'llama_parse'"},{"fix":"Upgrade your Python environment to version 3.9 or newer to support the modern type hint syntax used by the library.","cause":"This error typically arises when running `llama-parse` (or dependent libraries) with a Python version older than 3.9. Python 3.8 and earlier do not natively support the `list[dict]` type hint syntax used in the library's code.","error":"TypeError: 'type' object is not subscriptable"},{"fix":"Consult the official `llama-parse` or `llama-cloud` documentation for the correct methods to achieve schema extraction or parsing, such as `parse_file`, `parse_obj`, `schema`, or `schema_json`, as `infer_schema` is not a recognized method.","cause":"The `infer_schema` method is not available on the `LlamaParse` object in the installed version of the library. This method might have been removed, renamed, or never existed in the public API, leading to issues when following outdated examples or trying to use non-existent functionality.","error":"AttributeError: 'LlamaParse' object has no attribute 'infer_schema'"}],"ecosystem":"pypi","meta_description":null,"install_score":0,"install_tag":"stale","quickstart_score":0,"quickstart_tag":"stale","pypi_latest":null,"install_checks":{"last_tested":"2026-05-12","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]},"quickstart_checks":{"last_tested":"2026-05-12","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]}}