# ade-cli: parse and extract documents from the terminal with LandingAI's ADE

> ade-cli is LandingAI's official command line client for Agentic Document Extraction. It turns PDFs into grounded Markdown and schema-shaped fields, keeps results in a local store at ~/.ade, and exposes the whole surface as JSON for agents.

**landing-ai/ade-cli** — The official CLI for Agentic Document Extraction (ADE) by LandingAI — parse documents and extract schema-shaped data from your terminal

- Repository: https://github.com/landing-ai/ade-cli
- Website: https://docs.landing.ai/ade/ade-overview
- Stars: 2,418 · Forks: 256
- Language: Python
- License: Apache-2.0
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/landing-ai-ade-cli

## What ade-cli solves, and who it is for

Document parsing usually ends in one of two places. Either you get raw text with the layout gone, or you get a hosted API whose output you have to wire into a script yourself. ade-cli takes the second path and puts a terminal surface on it. The README describes two verbs as the core: `ade parse` turns documents with tables, figures, and charts into grounded Markdown and elements, and `ade extract` pulls schema-shaped fields with page-and-box evidence.

The intended reader is an engineer who already works from a shell. According to the README, agents are first-class callers: `ade help --json` returns the entire shipped surface, and every command takes `--json` and emits one stable object on stdout. That is a different audience from a notebook user. If your pipeline is a Python script that imports a library, this is not that library. The repository history matters here: this repo was `agentic-doc`, the original SDK, and the README states that SDK is preserved unchanged and no longer developed on the `legacy` branch. Since 2026-07-31 the repository ships the CLI. Anyone arriving from older tutorials is looking at a different artifact.

## How parse, extract, and the local store fit together

The data flow is three steps and a cache. You authenticate once, parse a document, then extract fields from the result of that parse. The README is explicit that the parse summary prints the job item ID that `extract` takes, so the two commands are chained by an identifier rather than by passing a file twice.

Everything lands in a local store at `~/.ade`. The README states that re-running an identical command consumes no credits, which is the design decision worth noticing: the store is not a log, it is a cache that changes what a repeated command costs. That also explains the uninstall warning. The README says never to delete all of `.ade`, because the rest of that directory holds results that already consumed credits.

Around those two verbs sits a smaller local layer. `ade find` searches a parse's elements with no API call, `ade crop` saves an element's region of the page as a PNG, and `ade view` builds a self-contained HTML viewer for a job item. Those three operate on what is already stored, which is why they are useful for checking evidence without spending anything. `ade history list` and `ade history clear` manage the stored items themselves.

The implementation is a thin client. The `pyproject.toml` lists `typer`, `httpx`, `pypdfium2`, and `pillow` as dependencies, and the entry point is `ade_cli.main:app`. There is no bundled model and no local inference dependency. Parsing and extraction happen on LandingAI's side; the CLI handles the request, the store, and the presentation.

## Installing ade-cli and running a first parse

Each release ships self-contained binaries for macOS, Linux, and Windows on arm64 and x86_64, and the README says no Python or `uv` is needed. On macOS or Linux the install is a shell script piped to `sh`:

```bash
curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
```

Windows has two options. PowerShell:

```powershell
irm https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1 | iex
```

Or CMD, which downloads the script, runs it, and deletes it:

```bat
curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
```

After install, the app lives at `~/.ade/bin/ade` on macOS and Linux, or `%USERPROFILE%\.ade\bin\ade.exe` on Windows. On macOS and Linux it reaches your PATH through a symlink in `~/.local/bin`. To develop or install from source, the README points at `CONTRIBUTING.md`.

The first real use is three commands. Log in once per machine, parse a document, then extract fields from it:

```sh
ade login
ade parse -d invoice.pdf
ade extract JOB_ITEM_ID --schema schema.json
```

The parse summary prints the job item ID that the extract call takes, so the middle command's output is the third command's argument. You need an API key from the LandingAI settings page, and the CLI Quickstart walks through the same three steps with a sample document and a sample schema, ending in the viewer that shows where each extracted value came from.

One operational detail that catches people: a process that is already running keeps the environment it started with, so `ade` may not be on the PATH inside CI, cron, or an agent harness. The README says to call the absolute path instead, `~/.ade/bin/ade` on macOS and Linux or `%USERPROFILE%\.ade\bin\ade.exe` on Windows, and to set `ADE_API_KEY` for credentials.

## The API dependency, and where this is the wrong tool

The clearest limitation is also the most obvious one: this is a client for a hosted service. Every `ade parse` and `ade extract` call goes to LandingAI's API, and the README does not describe an offline mode. The local commands (`find`, `crop`, `view`, `history`) work on stored results, but they cannot create them. If your documents cannot leave your network, or if you need parsing to work with no network at all, this is the wrong tool regardless of how good the output is.

The credit model is the second constraint. The README's argument for the local store is that re-running an identical command consumes no credits, which implies that a non-identical command does. Changing a page range, changing the schema, or pointing at a modified file is a new call. Teams that treat the store as a general cache will be surprised.

The authentication surface is broader than a single token. The command table lists `ade login` and `ade auth login`, `ade auth status`, `ade auth org list`, `ade auth org switch`, `ade auth org clear`, and two logout paths. The README says logout covers one environment or all of them, and organization switching exists because runs act in an organization. That is real complexity, and the README does not document rollback for any of it: there is no described way to undo an organization switch beyond switching again, and no described rollback for an `ade update` that lands badly beyond pinning `ADE_CLI_VERSION`.

The update check is a smaller annoyance. The README states the CLI mentions new releases on stderr once a day, and that `ADE_NO_UPDATE_CHECK=1` turns that off. Any script that treats stderr as clean output will want that variable set.

## Alternatives: a library SDK or a general agent framework

The most direct alternative is the predecessor of this repository. The README states that `agentic-doc`, the original Agentic Document Extraction SDK, is preserved unchanged on the `legacy` branch and is no longer developed. The difference is the interface, not the extraction: an SDK is imported into a Python process and returns objects you handle in code, while ade-cli is a process you invoke and whose results land in a store on disk. If you want the extraction inside a long-running Python service and you do not want a subprocess or a filesystem cache, the SDK shape fits better, with the caveat that the README says it is no longer developed.

The other alternative is a general agent framework that happens to include document handling. Those give you a loop, tools, and orchestration, and you would call a parsing service from inside it. ade-cli inverts that: it is one narrow tool with a published JSON contract, and the README's `SKILL.md` ships what it calls the agent contract, meaning the loop is expected to live in whatever harness you already run. Choose ade-cli when you want a small, scriptable verb with a stable result shape; choose a framework when document parsing is one step among many that the framework is already orchestrating.

## Maintenance, licensing, and upgrade cost

The repository is not archived, and the last push was on 2026-08-19. The most recent release is v1.0.5 from 2026-08-07, preceded by v1.0.4 on 2026-08-06 and v1.0.3 on 2026-08-05. Three releases in three days is a burst, not a cadence, and the README does not publish a support policy or a deprecation window for flags. Treat the JSON result shapes as stable by intent, since the README calls them stable and published per verb, but verify them yourself before depending on a field.

Upgrade cost is mostly handled for you. `ade update` self-updates to the latest release, with `--yes` to skip the confirmation. The README notes that for a `uv` or `pipx` install it points at `uv tool upgrade ade-cli` instead, which is a different command in a different tool, so a managed install needs a managed upgrade path. `ADE_CLI_VERSION` pins a version, `ADE_HOME` moves the app and the store, and `ADE_CLI_INSTALL_DIR` changes the destination. Pinning is the practical answer to a bad release, and the README does not describe any other rollback.

On licensing: the repository is Apache-2.0, and `pyproject.toml` declares `license = "Apache-2.0"`. That covers the CLI code you install and modify. It does not cover the API you call, and nothing in the README describes terms for the service itself. Read the service terms separately; this is not legal advice.

## Conclusion

Adopt ade-cli if you already have a LandingAI API key and want document parsing and schema extraction available as a shell command that agents can call with --json, especially on machines where results should be cached and re-runs should be free. Do not adopt it if you need an offline parser or an open ended agent framework: every parse and extract call goes to LandingAI's API, and the repository is a client, not an engine. Before committing, run ade version to confirm the install mode, run ade help --json to check that the shipped command surface matches what you scripted against, and confirm that ADE_API_KEY is set in any CI, cron, or agent harness where ade is not on the PATH.

## FAQ

### How do I install ade-cli on macOS or Linux?

The README gives a shell script piped to sh: curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh. Releases ship self-contained binaries for macOS, Linux, and Windows on arm64 and x86_64, and no Python or uv is needed.

### What commands does ade-cli provide?

The README's command table lists ade parse, ade extract, ade find, ade crop, ade view, ade history list, ade history clear, ade login and ade auth login, ade auth status, ade auth org list/switch/clear, ade logout and ade auth logout, ade version, ade update, and ade help. Every command takes --json for one stable JSON object on stdout.

### Do repeated ade-cli runs cost credits?

The README states that both parse and extract save to a local store at ~/.ade, so re-running an identical command consumes no credits. The README also warns never to delete all of .ade, because the rest of that directory holds results that already consumed credits.

### Can ade-cli be used without an API key?

The README points to the LandingAI settings page to get an API key and describes logging in with your browser or an API key. It also says to set ADE_API_KEY for credentials in environments such as CI, cron, or an agent harness, and does not describe an offline mode.

## Sources

- [landing-ai/ade-cli on GitHub](https://github.com/landing-ai/ade-cli)
- [License: Apache-2.0](https://github.com/landing-ai/ade-cli/blob/main/LICENSE)
- [Project website](https://docs.landing.ai/ade/ade-overview)
- [README](https://github.com/landing-ai/ade-cli/blob/main/README.md)
- [Releases](https://github.com/landing-ai/ade-cli/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/landing-ai-ade-cli
