> ## 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

> Interface en ligne de commande pour extraire, rechercher, cartographier, explorer, répondre et traiter par lots — sortie JSON pour scripts, CI et agents IA

**Package NPM :** [olostep-cli](https://www.npmjs.com/package/olostep-cli)\
**Référentiel :** [github.com/olostep-api/olostep-cli](https://github.com/olostep-api/olostep-cli)

CLI pour l’[API Olostep](https://www.olostep.com/) — **extraire**, **rechercher**, **cartographier**, **explorer**, **répondre** et **traiter par lots** le web depuis votre terminal. Chaque commande renvoie du **JSON** pour une intégration fluide avec `jq`, les agents et le CI.

Pur JavaScript, Node 18+, pas de binaires natifs à télécharger. Installation en moins d'une seconde, démarrage en \~200 ms, livré en un seul bundle de \~100 KB.

## Installation

**Exigences :** Node.js **18+**.

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

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

    Le script vérifie Node 18+, exécute `npm install -g olostep-cli`, et utilise `sudo` si nécessaire.
  </Tab>

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

    Même principe que le script macOS/Linux, mais pour PowerShell.
  </Tab>

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

    Idéal pour essayer une seule commande sans installation globale.
  </Tab>
</Tabs>

`olostep init` est l'étape suivante recommandée — cela vous connecte, installe les compétences Olostep dans vos agents IA, et configure le serveur MCP, tout en une seule commande. Les scripts one-liner encapsulent `npm install -g olostep-cli` avec une vérification de Node 18+ et un recours à `sudo`, donc ils fonctionnent même si vous n'êtes pas sûr de votre configuration locale.

**Plateformes :** macOS (Apple Silicon et Intel), Linux (x64 et arm64), Windows (x64 et arm64).

## Configuration

Une commande fait tout — connexion, installation des compétences, et installation du serveur MCP :

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

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

Pour **seulement se connecter** (pas de compétences/MCP) :

```bash theme={null}
olostep login
olostep login --no-browser     # affiche l'URL (utile via SSH)
```

Le navigateur s'ouvre sur la page d'authentification Olostep ; vous cliquez sur **Autoriser**, et le CLI enregistre votre clé localement.

**Alternative — définir une variable d'environnement.** Idéal pour le CI :

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

Obtenez une clé depuis le [tableau de bord des clés API](https://www.olostep.com/dashboard/api-keys).

**Où la clé est-elle stockée** (après `olostep login`) :

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

## Déconnexion

```bash theme={null}
olostep logout            # demande confirmation, puis supprime credentials.json
olostep logout --dry-run  # aperçu uniquement — voir ce qui se passerait
olostep logout --yes      # saute la confirmation (pour les scripts)
olostep logout --json     # sortie lisible par machine
```

`logout` vous avertit également si les variables d'environnement `OLOSTEP_API_KEY` / `OLOSTEP_API_TOKEN` ou un fichier `.env` dans votre répertoire actuel contiennent encore une clé — ceux-ci ont priorité sur le fichier de credentials, donc supprimer le fichier seul peut ne pas suffire. La sortie inclut les commandes exactes pour désactiver sous PowerShell et bash/zsh.

## Démarrage rapide

```bash theme={null}
olostep login

olostep search "meilleures API d'extraction web 2025" --limit 5
olostep answer "Que fait 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
```

Chaque commande imprime son résultat JSON sur stdout par défaut. Utilisez `--out <path>` pour enregistrer dans un fichier.

## Que peut-il faire ?

| Vous voulez…                          | Commande                         | Produit Olostep                                  |
| ------------------------------------- | -------------------------------- | ------------------------------------------------ |
| Rechercher sur le web                 | `search`                         | [Recherches](/features/search)                   |
| Obtenir une réponse recherchée        | `answer`                         | [Réponses](/features/answers)                    |
| Découvrir des URLs sur un site        | `map`                            | [Cartes](/features/maps)                         |
| Extraire une page                     | `scrape`                         | [Extractions](/features/scrapes)                 |
| Extraire chaque page d'un site        | `crawl`                          | [Explorations](/features/crawls)                 |
| Extraire plusieurs URLs depuis un CSV | `batch-scrape`                   | [Lots](/features/batches)                        |
| Extraire des champs structurés        | `--parser-id` sur `batch-scrape` | [Parseurs](/features/structured-content/parsers) |
| Récupérer un résultat par ID          | `scrape-get`                     | [Extractions](/features/scrapes)                 |
| Taguer/organiser un lot               | `batch-update`                   | [Lots](/features/batches)                        |

## Sortie

Chaque commande **imprime son résultat JSON sur stdout** par défaut.

| Option         | Comportement                                    |
| -------------- | ----------------------------------------------- |
| *(aucune)*     | Imprime le JSON sur **stdout** (UTF-8, indenté) |
| `--out <path>` | Écrit le JSON dans ce fichier à la place        |
| `--out -`      | Explicitement stdout (comme par défaut)         |

Les lignes de progression et de journalisation vont sur **stderr**, donc stdout reste propre pour les pipes.

```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 "sujet" --json | jq '.links[].url'
```

**Choisir entre elles :**

* **`search`** — vous voulez une liste d'URLs pertinentes et de snippets pour une requête. Le CLI recherche le web pour vous.
* **`answer`** — vous voulez une réponse synthétisée, pas le contenu brut de la page. Le CLI fait la recherche pour vous.
* **`scrape`** — vous avez déjà l'URL et voulez obtenir un contenu propre.
* **`crawl`** — vous voulez chaque page d'un site (ou un sous-ensemble filtré) sans énumérer les URLs à la main.
* **`batch-scrape`** — vous avez une liste d'URLs et voulez les traiter en parallèle.

## Commandes

Utilisez `olostep <commande> --help` pour chaque option.

### `search` : recherche web en direct

Renvoie des liens organiques dédupliqués (URL, titre, description).

| Option              | Description                                                      |
| ------------------- | ---------------------------------------------------------------- |
| `--limit`           | Nombre de résultats, par défaut 12, max 25                       |
| `--include-domains` | Domaines séparés par des virgules pour restreindre les résultats |
| `--exclude-domains` | Domaines séparés par des virgules à exclure                      |
| `--out`             | Fichier ou `-`                                                   |
| `--json`            | Sortie lisible par machine                                       |

```bash theme={null}
olostep search "outils CLI TypeScript" --limit 10
olostep search "projets open source" --include-domains "github.com" --limit 5
olostep search "agents IA" --json | jq '.links[].url'
```

### `answer` : réponse recherchée

Synchronisé — renvoie lorsque la réponse est prête.

| Option          | Description                                       |
| --------------- | ------------------------------------------------- |
| `--out`         | Fichier ou `-`                                    |
| `--json-format` | Forme JSON optionnelle pour une sortie structurée |

```bash theme={null}
olostep answer "Que construit cette entreprise ?" --out answer.json
olostep answer "Extraire des faits" --json-format '{"company":"","year":""}' --out -
```

### `map` : découvrir des URLs

| Option                                           | Description                                   |
| ------------------------------------------------ | --------------------------------------------- |
| `--out`                                          | Chemin du fichier ou `-`                      |
| `--top-n`                                        | Max URLs à retourner                          |
| `--search-query`                                 | Requête optionnelle pour guider la découverte |
| `--include-subdomain` / `--no-include-subdomain` | Sous-domaines                                 |
| `--include-url` / `--exclude-url`                | Modèles d'URL répétables                      |
| `--cursor`                                       | Curseur de pagination                         |

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

### `scrape` : une URL

**Formats :** `html`, `markdown`, `text`, `json`, `raw_pdf`, `screenshot` (séparés par des virgules ; par défaut `markdown`).

| Option                              | Description                                                                                                                          |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `--formats`                         | Séparés par des virgules                                                                                                             |
| `--country`                         | Code pays (ex. `US`, `GB`)                                                                                                           |
| `--wait-before-scraping`            | Attendre avant extraction (ms)                                                                                                       |
| `--payload-json` / `--payload-file` | Options avancées en JSON (ex. `"max_age": 86400` pour opter pour la mise en cache — voir [Mise en cache](/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` : récupérer par ID

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

### `crawl` : tout le site

Démarre une exploration, interroge jusqu'à ce qu'elle soit terminée, puis récupère le contenu des pages.

**Formats de récupération :** `markdown`, `html`, `json`.

Options notables : `--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

Le CSV doit avoir une ligne d'en-tête avec les colonnes **`custom_id`** (ou `id`) et **`url`**.

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

| Option                                           | Description                                           |
| ------------------------------------------------ | ----------------------------------------------------- |
| `--formats`                                      | `markdown`, `html`, `json` (séparés par des virgules) |
| `--country`                                      | Code pays optionnel                                   |
| `--parser-id`                                    | ID du parseur pour extraction structurée              |
| `--poll-seconds`, `--log-every`, `--items-limit` | Interrogation et pagination                           |
| `--dry-run`                                      | Imprimer la charge utile et quitter                   |

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

Synchronisé — interroge jusqu'à ce que le lot soit terminé, puis récupère chaque élément.

### `batch-update` : métadonnées de lot

Nécessite **l'un des** `--metadata-json` ou `--metadata-file` (objet JSON).

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

## Commandes d'authentification

```bash theme={null}
olostep login                      # connexion PKCE via navigateur
olostep logout                     # supprime les credentials enregistrés
olostep status                     # affiche l'état d'authentification, les chemins de config, la version

olostep auth login                 # identique à olostep login
olostep auth logout                # identique à olostep logout
olostep auth status                # identique à olostep status
olostep auth set-key <key>         # enregistre une clé API directement (sans navigateur)
```

`auth set-key` est utile pour le CI et les scripts — écrivez la clé directement sans passer par le flux du navigateur.

## Installer le serveur MCP

Le CLI écrit le serveur Olostep MCP dans la configuration de votre agent — pas besoin d'éditer du JSON.

```bash theme={null}
olostep mcp install                          # détecte les agents, point d'accès hébergé
olostep mcp install --agent cursor           # uniquement Cursor
olostep mcp install --transport stdio        # npx local au lieu d'hébergé
olostep mcp install --no-global              # écrit dans le projet actuel
olostep mcp install --dry-run --json         # plan uniquement
olostep mcp uninstall                        # supprime l'entrée olostep
olostep list mcp                             # montre quels agents l'ont
```

| Option                             | Description                                                                                                                                       |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--agent`                          | Agent spécifique, répétable. Pris en charge : `cursor`, `claude`, `claude-desktop`, `windsurf`, `vscode`, `kilo`, `opencode`, `continue`, `codex` |
| `--all-agents` / `--no-all-agents` | Cible tous les agents détectés (par défaut)                                                                                                       |
| `--transport`                      | `http` (hébergé, recommandé) ou `stdio` (local `npx olostep-mcp`)                                                                                 |
| `--global` / `--no-global`         | Config par utilisateur (par défaut) vs locale au projet                                                                                           |
| `--api-key`                        | Clé à intégrer ; par défaut les credentials résolus                                                                                               |
| `--dry-run`                        | Montre le plan sans écrire                                                                                                                        |
| `--json`                           | Sortie lisible par machine                                                                                                                        |

Le point d'accès hébergé à `https://mcp.olostep.com/mcp` utilise `Authorization: Bearer <key>` — pas besoin de processus Node local. Le CLI fusionne uniquement la clé `olostep` dans votre config existante. Redémarrez votre agent après l'installation.

## Compétences pour les agents IA

Le CLI livre **13 compétences Olostep** — fichiers `SKILL.md` installés dans Claude Code, Cursor, et d'autres agents pour qu'ils sachent ce qu'Olostep peut faire et quand l'utiliser.

```bash theme={null}
olostep add skills                     # installe tout dans chaque agent détecté
olostep skills install                 # identique (alias)
olostep skills update                  # ré-installe / rafraîchit toutes les compétences
olostep skills list                    # voit ce qui est installé et où
olostep skills uninstall               # supprime toutes les compétences
```

Filtrer ce qui est installé :

```bash theme={null}
olostep add skills --category usage    # compétences de base sur les données web uniquement
olostep add skills --skill scrape --skill map
olostep add skills --agent cursor --agent claude
```

Voir [Compétences](/features/skills) pour la liste complète et les options.

## Vérifications de santé

```bash theme={null}
olostep doctor                         # exécute toutes les vérifications
olostep doctor --skip-network          # auth + config uniquement, pas d'appels HTTP
olostep doctor --json                  # NDJSON — un enregistrement par vérification (idéal pour le CI)
olostep doctor --fail-on-warn          # exit 1 sur les avertissements aussi
```

Vérifications : clé API présente, clé API accessible, point d'accès MCP accessible, fichier de config existe pour chaque agent détecté.

Utilisation CI :

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

## Version et mises à jour

```bash theme={null}
olostep version                        # version CLI, version Node, canal
olostep version --json                 # lisible par machine : { cli, node, channel }
olostep update                         # mise à jour vers la dernière version (npm install -g olostep-cli@latest)
olostep update --check                 # vérifie si une version plus récente est disponible, n'installe pas
```

## Variables d'environnement

| Variable                    | Effet                                                                       |
| --------------------------- | --------------------------------------------------------------------------- |
| `OLOSTEP_API_KEY`           | Clé API                                                                     |
| `OLOSTEP_API_TOKEN`         | Clé API (alias ancien)                                                      |
| `OLOSTEP_JSON=1`            | Force la sortie JSON sur chaque commande (identique à `--json` globalement) |
| `OLOSTEP_NO_UPDATE_CHECK=1` | Silence l'avis "mise à jour disponible"                                     |
| `OLOSTEP_CLI_CONFIG_DIR`    | Remplace le répertoire des credentials                                      |

## Notes Windows / PowerShell

PowerShell tokenise `,` et `*` différemment de bash — mettez les arguments entre guillemets :

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

Les guillemets simples sont les plus sûrs pour les valeurs JSON (pas d'interpolation `$`).

## Voir ce qui est installé

```bash theme={null}
olostep list skills    # compétences Olostep installées et quels agents les ont
olostep list mcp       # quels agents ont le serveur MCP Olostep, et le transport
```

## Options globales

| Option            | Description |
| ----------------- | ----------- |
| `-V`, `--version` | Version     |
| `-h`, `--help`    | Aide        |

`--out`, `--timeout`, et `--api-key` sont disponibles sur chaque commande de données.

## Sécurité

Gardez les clés API hors du contrôle de source ; faites-les tourner si elles sont divulguées. `olostep logout` supprime le fichier de credentials local et vous indique si des sources de variables d'environnement contiennent encore une clé.

## Connexes

* [Cartes](/features/maps) · [Explorations](/features/crawls) · [Lots](/features/batches) · [Réponses](/features/answers) · [Recherches](/features/search) · [Compétences](/features/skills) · [Serveur MCP](/integrations/mcp-server)
