> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Olostep CLI

> Befehlszeilenschnittstelle für Scrape, Search, Map, Crawl, Answers und Batches — JSON-Ausgabe für Skripte, CI und KI-Agenten

**NPM-Paket:** [olostep-cli](https://www.npmjs.com/package/olostep-cli)
**Repository:** [github.com/olostep-api/olostep-cli](https://github.com/olostep-api/olostep-cli)

CLI für die [Olostep API](https://www.olostep.com/) — **scrape**, **search**, **map**, **crawl**, **answer** und **batch** das Web von deinem Terminal aus. Jeder Befehl gibt **JSON** zurück, sodass es sauber in `jq`, Agenten und CI weitergeleitet werden kann.

Reines JavaScript, Node 18+, keine nativen Binärdateien zum Herunterladen. Installiert in weniger als einer Sekunde, startet in \~200 ms, wird als einzelnes \~100 KB-Bundle ausgeliefert.

## Installation

**Anforderungen:** Node.js **18+**.

<Tabs>
  <Tab title="npm (empfohlen)">
    ```bash theme={null}
    npm install -g olostep-cli
    olostep init
    ```
  </Tab>

  <Tab title="Einzeiler (macOS / Linux)">
    ```bash theme={null}
    curl -fsSL https://olostep.com/install.sh | sh
    olostep init
    ```

    Das Skript überprüft Node 18+, führt `npm install -g olostep-cli` aus und wechselt bei Bedarf zu `sudo`.
  </Tab>

  <Tab title="Einzeiler (Windows)">
    ```powershell theme={null}
    iwr -useb https://olostep.com/install.ps1 | iex
    olostep init
    ```

    Gleiche Idee wie das macOS/Linux-Skript, aber für PowerShell.
  </Tab>

  <Tab title="Keine Installation (npx)">
    ```bash theme={null}
    npx -y olostep-cli@latest --help
    ```

    Gut, um einen einzelnen Befehl ohne globale Installation auszuprobieren.
  </Tab>
</Tabs>

`olostep init` ist der empfohlene nächste Schritt — es meldet dich an, installiert die Olostep-Skills in deine KI-Agenten und konfiguriert den MCP-Server, alles in einem Befehl. Die Einzeiler-Skripte umschließen `npm install -g olostep-cli` mit einer Node 18+ Überprüfung und einem `sudo` Fallback, sodass sie auch funktionieren, wenn du dir über deine lokale Konfiguration unsicher bist.

**Plattformen:** macOS (Apple Silicon und Intel), Linux (x64 und arm64), Windows (x64 und arm64).

## Einrichtung

Ein Befehl erledigt alles — Anmeldung, Skills installieren und den MCP-Server installieren:

```bash theme={null}
olostep init
```

Flags: `--skills-only`, `--mcp-only`, `--no-browser`, `--relogin`.

Um **nur anzumelden** (keine Skills/MCP):

```bash theme={null}
olostep login
olostep login --no-browser     # URL ausgeben (nützlich über SSH)
```

Der Browser öffnet die Olostep-Authentifizierungsseite; du klickst auf **Autorisieren**, und die CLI speichert deinen Schlüssel lokal.

**Alternative — eine Umgebungsvariable setzen.** Gut für CI:

```bash theme={null}
export OLOSTEP_API_KEY=your_key_here
```

Hole dir einen Schlüssel vom [API Keys Dashboard](https://www.olostep.com/dashboard/api-keys).

**Wo der Schlüssel gespeichert wird** (nach `olostep login`):

| OS      | Pfad                                                         |
| ------- | ------------------------------------------------------------ |
| macOS   | `~/Library/Application Support/olostep-cli/credentials.json` |
| Linux   | `~/.config/olostep-cli/credentials.json`                     |
| Windows | `%USERPROFILE%\AppData\Roaming\olostep-cli\credentials.json` |

## Abmelden

```bash theme={null}
olostep logout            # fordert zur Bestätigung auf, dann wird credentials.json entfernt
olostep logout --dry-run  # nur Vorschau — zeigt, was passieren würde
olostep logout --yes      # Bestätigung überspringen (für Skripte)
olostep logout --json     # maschinenlesbare Ausgabe
```

`logout` warnt dich auch, wenn `OLOSTEP_API_KEY` / `OLOSTEP_API_TOKEN` Umgebungsvariablen oder eine `.env` Datei in deinem aktuellen Verzeichnis noch einen Schlüssel enthalten — diese haben Vorrang vor der Anmeldedatei, sodass das Löschen der Datei allein möglicherweise nicht ausreicht. Die Ausgabe enthält die genauen Unset-Befehle für PowerShell und bash/zsh.

## Schnellstart

```bash theme={null}
olostep login

olostep search "beste Web-Scraping-APIs 2025" --limit 5
olostep answer "Was macht Olostep?"
olostep map "https://example.com" --top-n 20
olostep scrape "https://example.com" --formats markdown
olostep crawl "https://docs.example.com" --max-pages 50
olostep batch-scrape urls.csv --formats markdown,html
```

Jeder Befehl gibt standardmäßig sein JSON-Ergebnis an stdout aus. Verwende `--out <path>`, um in eine Datei zu speichern.

## Was kann es?

| Du möchtest…                         | Befehl                           | Olostep-Produkt                                 |
| ------------------------------------ | -------------------------------- | ----------------------------------------------- |
| Das Web durchsuchen                  | `search`                         | [Searches](/features/search)                    |
| Eine recherchierte Antwort erhalten  | `answer`                         | [Answers](/features/answers)                    |
| URLs auf einer Website entdecken     | `map`                            | [Maps](/features/maps)                          |
| Eine Seite abrufen                   | `scrape`                         | [Scrapes](/features/scrapes)                    |
| Jede Seite auf einer Website abrufen | `crawl`                          | [Crawls](/features/crawls)                      |
| Viele URLs aus einer CSV abrufen     | `batch-scrape`                   | [Batches](/features/batches)                    |
| Strukturierte Felder extrahieren     | `--parser-id` bei `batch-scrape` | [Parsers](/features/structured-content/parsers) |
| Ein Ergebnis nach ID erneut abrufen  | `scrape-get`                     | [Scrapes](/features/scrapes)                    |
| Einen Batch taggen/organisieren      | `batch-update`                   | [Batches](/features/batches)                    |

## Ausgabe

Jeder Befehl **druckt sein JSON-Ergebnis an stdout** standardmäßig.

| Flag           | Verhalten                                       |
| -------------- | ----------------------------------------------- |
| *(keines)*     | JSON an **stdout** ausgeben (UTF-8, eingerückt) |
| `--out <path>` | JSON stattdessen in diese Datei schreiben       |
| `--out -`      | Explizit stdout (gleich wie Standard)           |

Fortschritts- und Protokollzeilen gehen an **stderr**, sodass stdout für Pipes sauber bleibt.

```bash theme={null}
olostep map "https://example.com" --top-n 20 | jq '.urls[:10]'
olostep scrape "https://example.com" | jq .result.markdown_content
olostep search "topic" --json | jq '.links[].url'
```

**Wahl zwischen ihnen:**

* **`search`** — du möchtest eine Liste relevanter URLs und Snippets für eine Abfrage. Die CLI durchsucht das Web für dich.
* **`answer`** — du möchtest eine synthetisierte Antwort, nicht rohen Seiteninhalt. Die CLI recherchiert für dich.
* **`scrape`** — du hast bereits die URL und möchtest sauberen Inhalt heraus.
* **`crawl`** — du möchtest jede Seite auf einer Website (oder einen gefilterten Teil) ohne manuelles Auflisten der URLs.
* **`batch-scrape`** — du hast eine Liste von URLs und möchtest sie parallel verarbeiten lassen.

## Befehle

Verwende `olostep <command> --help` für jede Option.

### `search`: Live-Websuche

Gibt deduplizierte organische Links zurück (URL, Titel, Beschreibung).

| Option              | Beschreibung                                                        |
| ------------------- | ------------------------------------------------------------------- |
| `--limit`           | Anzahl der Ergebnisse, Standard 12, max 25                          |
| `--include-domains` | Durch Kommas getrennte Domains, um Ergebnisse darauf zu beschränken |
| `--exclude-domains` | Durch Kommas getrennte Domains, um sie auszuschließen               |
| `--out`             | Datei oder `-`                                                      |
| `--json`            | Maschinenlesbare Ausgabe                                            |

```bash theme={null}
olostep search "TypeScript CLI-Tools" --limit 10
olostep search "Open-Source-Projekte" --include-domains "github.com" --limit 5
olostep search "KI-Agenten" --json | jq '.links[].url'
```

### `answer`: recherchierte Antwort

Synchron — gibt zurück, wenn die Antwort bereit ist.

| Option          | Beschreibung                                     |
| --------------- | ------------------------------------------------ |
| `--out`         | Datei oder `-`                                   |
| `--json-format` | Optionales JSON-Format für strukturierte Ausgabe |

```bash theme={null}
olostep answer "Was baut dieses Unternehmen?" --out answer.json
olostep answer "Fakten extrahieren" --json-format '{"company":"","year":""}' --out -
```

### `map`: URLs entdecken

| Option                                           | Beschreibung                                      |
| ------------------------------------------------ | ------------------------------------------------- |
| `--out`                                          | Dateipfad oder `-`                                |
| `--top-n`                                        | Maximale Anzahl an URLs, die zurückgegeben werden |
| `--search-query`                                 | Optionale Abfrage zur Führung der Entdeckung      |
| `--include-subdomain` / `--no-include-subdomain` | Subdomains                                        |
| `--include-url` / `--exclude-url`                | Wiederholbare URL-Muster                          |
| `--cursor`                                       | Paginierungscursor                                |

```bash theme={null}
olostep map "https://example.com" --top-n 100 --search-query "blog"
```

### `scrape`: eine URL

**Formate:** `html`, `markdown`, `text`, `json`, `raw_pdf`, `screenshot` (durch Kommas getrennt; Standard `markdown`).

| Option                              | Beschreibung                                                                                                                 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `--formats`                         | Durch Kommas getrennt                                                                                                        |
| `--country`                         | Ländercode (z.B. `US`, `GB`)                                                                                                 |
| `--wait-before-scraping`            | Wartezeit vor dem Scraping (ms)                                                                                              |
| `--payload-json` / `--payload-file` | Erweiterte Optionen als JSON (z.B. `"max_age": 86400` um Caching zu aktivieren — siehe [Caching](/features/scrapes#caching)) |

```bash theme={null}
olostep scrape "https://example.com" --formats markdown,html
olostep scrape "https://example.com" --payload-file options.json --out -
```

### `scrape-get`: nach ID abrufen

```bash theme={null}
olostep scrape-get "scrape_abc123" --out -
```

### `crawl`: ganze Website

Startet einen Crawl, fragt bis zum Abschluss ab und ruft dann die Seiteninhalte ab.

**Abrufformate:** `markdown`, `html`, `json`.

Bemerkenswerte Flags: `--max-pages`, `--max-depth`, `--include-subdomain`, `--include-external`, `--include-url`, `--exclude-url`, `--search-query`, `--top-n`, `--webhook`, `--crawl-timeout`, `--formats`, `--pages-limit`, `--pages-search-query`, `--poll-seconds`, `--poll-timeout`, `--dry-run`.

```bash theme={null}
olostep crawl "https://docs.example.com" --max-pages 50 --formats markdown,html
olostep crawl "https://example.com" --max-pages 10 --dry-run
```

### `batch-scrape`: CSV

CSV muss eine Kopfzeile mit **`custom_id`** (oder `id`) und **`url`** Spalten haben.

```csv theme={null}
custom_id,url
example,https://example.com
iana,https://iana.org
docs,https://docs.olostep.com
```

| Option                                           | Beschreibung                                       |
| ------------------------------------------------ | -------------------------------------------------- |
| `--formats`                                      | `markdown`, `html`, `json` (durch Kommas getrennt) |
| `--country`                                      | Optionaler Ländercode                              |
| `--parser-id`                                    | Parser-ID für strukturierte Extraktion             |
| `--poll-seconds`, `--log-every`, `--items-limit` | Abfrage und Paginierung                            |
| `--dry-run`                                      | Nutzlast ausgeben und beenden                      |

```bash theme={null}
olostep batch-scrape urls.csv --formats markdown,html
olostep batch-scrape urls.csv --parser-id "<PARSER_ID>" --out results.json
```

Synchron — fragt ab, bis der Batch abgeschlossen ist, und ruft dann jedes Element ab.

### `batch-update`: Batch-Metadaten

Erfordert **eines von** `--metadata-json` oder `--metadata-file` (JSON-Objekt).

```bash theme={null}
olostep batch-update "batch_abc123" --metadata-json '{"team":"growth"}'
olostep batch-update "batch_abc123" --metadata-file meta.json
```

## Auth-Befehle

```bash theme={null}
olostep login                      # Browser PKCE-Anmeldung
olostep logout                     # gespeicherte Anmeldedaten entfernen
olostep status                     # Auth-Status, Konfigurationspfade, Version anzeigen

olostep auth login                 # gleich wie olostep login
olostep auth logout                # gleich wie olostep logout
olostep auth status                # gleich wie olostep status
olostep auth set-key <key>         # API-Schlüssel direkt speichern (kein Browser)
```

`auth set-key` ist nützlich für CI und Skripte — den Schlüssel direkt schreiben, ohne den Browserfluss zu durchlaufen.

## Installiere den MCP-Server

Die CLI schreibt den Olostep MCP-Server in die Konfiguration deines Agenten — keine JSON-Bearbeitung.

```bash theme={null}
olostep mcp install                          # Agenten erkennen, gehosteter Endpunkt
olostep mcp install --agent cursor           # nur Cursor
olostep mcp install --transport stdio        # lokales npx statt gehostet
olostep mcp install --no-global              # in aktuelles Projekt schreiben
olostep mcp install --dry-run --json         # nur planen
olostep mcp uninstall                        # den olostep-Eintrag entfernen
olostep list mcp                             # zeigen, welche Agenten es haben
```

| Option                             | Beschreibung                                                                                                                                       |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--agent`                          | Spezifischer Agent, wiederholbar. Unterstützt: `cursor`, `claude`, `claude-desktop`, `windsurf`, `vscode`, `kilo`, `opencode`, `continue`, `codex` |
| `--all-agents` / `--no-all-agents` | Jeden erkannten Agenten anvisieren (Standard)                                                                                                      |
| `--transport`                      | `http` (gehostet, empfohlen) oder `stdio` (lokales `npx olostep-mcp`)                                                                              |
| `--global` / `--no-global`         | Benutzerkonfiguration (Standard) vs projektlokal                                                                                                   |
| `--api-key`                        | Schlüssel zum Einbetten; standardmäßig auf gelöste Anmeldedaten                                                                                    |
| `--dry-run`                        | Plan anzeigen, ohne zu schreiben                                                                                                                   |
| `--json`                           | Maschinenlesbare Ausgabe                                                                                                                           |

Der gehostete Endpunkt unter `https://mcp.olostep.com/mcp` verwendet `Authorization: Bearer <key>` — kein lokaler Node-Prozess erforderlich. Die CLI fügt nur den `olostep`-Schlüssel in deine bestehende Konfiguration ein. Starte deinen Agenten nach der Installation neu.

## Skills für KI-Agenten

Die CLI liefert **13 Olostep-Skills** — `SKILL.md` Dateien, die in Claude Code, Cursor und andere Agenten installiert werden, damit sie wissen, was Olostep kann und wann es zu verwenden ist.

```bash theme={null}
olostep add skills                     # alle in jeden erkannten Agenten installieren
olostep skills install                 # gleich (Alias)
olostep skills update                  # alle Skills neu installieren/aktualisieren
olostep skills list                    # sehen, was installiert ist und wo
olostep skills uninstall               # alle Skills entfernen
```

Filter, was installiert wird:

```bash theme={null}
olostep add skills --category usage    # nur Kern-Web-Daten-Skills
olostep add skills --skill scrape --skill map
olostep add skills --agent cursor --agent claude
```

Siehe [Skills](/features/skills) für die vollständige Liste und Optionen.

## Gesundheitschecks

```bash theme={null}
olostep doctor                         # alle Checks ausführen
olostep doctor --skip-network          # nur Auth + Konfig, keine HTTP-Anrufe
olostep doctor --json                  # NDJSON — ein Datensatz pro Check (gut für CI)
olostep doctor --fail-on-warn          # bei Warnungen auch mit 1 beenden
```

Checks: API-Schlüssel vorhanden, API-Schlüssel erreichbar, MCP-Endpunkt erreichbar, Konfigurationsdatei existiert für jeden erkannten Agenten.

CI-Nutzung:

```bash theme={null}
olostep doctor --json --skip-network | jq 'select(.status == "fail")'
```

## Version & Updates

```bash theme={null}
olostep version                        # CLI-Version, Node-Version, Kanal
olostep version --json                 # maschinenlesbar: { cli, node, channel }
olostep update                         # auf die neueste Version aktualisieren (npm install -g olostep-cli@latest)
olostep update --check                 # überprüfen, ob eine neuere Version verfügbar ist, nicht installieren
```

## Umgebungsvariablen

| Variable                    | Effekt                                                              |
| --------------------------- | ------------------------------------------------------------------- |
| `OLOSTEP_API_KEY`           | API-Schlüssel                                                       |
| `OLOSTEP_API_TOKEN`         | API-Schlüssel (veraltetes Alias)                                    |
| `OLOSTEP_JSON=1`            | Erzwinge JSON-Ausgabe bei jedem Befehl (gleich wie `--json` global) |
| `OLOSTEP_NO_UPDATE_CHECK=1` | "Update verfügbar"-Hinweis unterdrücken                             |
| `OLOSTEP_CLI_CONFIG_DIR`    | Anmeldedatenverzeichnis überschreiben                               |

## Windows / PowerShell Hinweise

PowerShell tokenisiert `,` und `*` anders als bash — Argumente in Anführungszeichen setzen:

```powershell theme={null}
olostep scrape "https://example.com" --formats "markdown,html"
olostep map   "https://example.com" --include-url "/*"
olostep answer "Fakten extrahieren" --json-format '{"company":"","year":""}'
```

Einzelne Anführungszeichen sind am sichersten für JSON-Werte (keine `$`-Interpolation).

## Sieh, was installiert ist

```bash theme={null}
olostep list skills    # installierte Olostep-Skills und welche Agenten sie haben
olostep list mcp       # welche Agenten den Olostep MCP-Server haben und den Transport
```

## Globale Flags

| Flag              | Beschreibung |
| ----------------- | ------------ |
| `-V`, `--version` | Version      |
| `-h`, `--help`    | Hilfe        |

`--out`, `--timeout`, und `--api-key` sind bei jedem Datenbefehl verfügbar.

## Sicherheit

Halte API-Schlüssel aus der Versionskontrolle heraus; rotiere sie, wenn sie geleakt werden. `olostep logout` entfernt die lokale Anmeldedatei und informiert dich, wenn noch Umgebungsvariablenquellen einen Schlüssel enthalten.

## Verwandte

* [Maps](/features/maps) · [Crawls](/features/crawls) · [Batches](/features/batches) · [Answers](/features/answers) · [Searches](/features/search) · [Skills](/features/skills) · [MCP Server](/integrations/mcp-server)
