npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

olostep-cli

v0.1.3

Published

CLI for Olostep APIs: map, answer, scrape, crawl, batch-scrape — standalone binary, no Python needed

Readme

olostep-cli

CLI for the Olostep API: map, answer, scrape, scrape-get, crawl, batch-scrape, and batch-update. Responses are JSON (pretty-printed) for scripts, CI, and agents.

Installing this package downloads a standalone binary for your OS. You do not need Python to run olostep.


Install

Requirements: Node.js 16+ (only for npm / npx; the CLI itself is a native binary).

npm install -g olostep-cli

Run without a global install:

npx -y olostep-cli@latest --help

Platforms: macOS (Apple Silicon and Intel), Linux x64, Windows x64.

On install, a postinstall step downloads the matching binary from the package’s GitHub releases. If that fails, confirm a release exists for this package version and your platform, then reinstall.


API key

Set OLOSTEP_API_KEY in your environment, or in a .env file in the directory where you run olostep.

Create keys: Olostep API Keys.

export OLOSTEP_API_KEY=your_key_here
olostep --help

Output

| Flag | Behavior | | ---- | -------- | | --out <path> | Write JSON to a file (parent dirs created if needed). | | --out - | Write JSON to stdout only (UTF-8, indented). Good for pipes and subprocess capture. |

Progress and log lines go to stderr, so stdout stays parseable.

olostep map "https://example.com" --top-n 20 --out - | jq '.urls[:10]'
olostep scrape "https://example.com" --out - | jq .result.markdown_content

If you omit --out, files go under output/ (see table at the end).


Commands

Use olostep <command> --help for every option. Most commands accept --timeout (HTTP, seconds).

map — discover URLs

| Option | Description | | ------ | ----------- | | --out | File path or - | | --top-n | Max URLs | | --search-query | Guide discovery | | --include-subdomain / --no-include-subdomain | Subdomains | | --include-url / --exclude-url | Repeatable patterns | | --cursor | Pagination |

Use --top-n, not --limit (removed).

olostep map "https://example.com" --top-n 100 --search-query "blog"

answer — researched answer

Polls until the answer is ready.

| Option | Description | | ------ | ----------- | | --out | File or - | | --json-format | Optional structured output hint (JSON object string) | | --poll-interval / --poll-timeout | Polling (seconds) |

Use --json-format, not --model (removed).

olostep answer "What does this company build?" --out answer.json
olostep answer "Extract facts" --json-format '{"company":"","year":""}' --out -

scrape — one URL

Formats: html, markdown, text, json, raw_pdf, screenshot (comma-separated; default markdown).

| Option | Description | | ------ | ----------- | | --formats | Comma-separated | | --country | Country code | | --wait-before-scraping | Ms to wait before scrape | | --payload-json | Advanced options as JSON object string | | --payload-file | Same, from file (not together with --payload-json) |

olostep scrape "https://example.com" --formats markdown,html
olostep scrape "https://example.com" --payload-file scrape-options.json --out -

scrape-get — by scrape ID

olostep scrape-get "scrape_abc123" --out -

crawl — site crawl

Retrieve formats: markdown, html, json.

Notable flags: --max-pages, --max-depth, --include-subdomain, --include-external, --include-url, --exclude-url, --search-query, --top-n, --webhook, --crawl-timeout, --follow-robots-txt / --ignore-robots-txt, --formats, --pages-limit, --pages-search-query, --poll-seconds, --poll-timeout, --dry-run (print payload, no request).

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 columns: custom_id or id, and url.

| Option | Description | | ------ | ----------- | | --formats | markdown, html, json | | --country | Optional | | --parser-id | Structured extraction parser | | --poll-seconds, --log-every, --items-limit | Polling / paging | | --dry-run | Print payload only |

olostep batch-scrape urls.csv --formats markdown,html

batch-update — batch metadata

Requires one of --metadata-json or --metadata-file (JSON object).

olostep batch-update "batch_abc123" --metadata-json '{"team":"growth"}'

Default --out paths

When --out is omitted:

| Command | Default | | ------- | ------- | | map | output/map.json | | answer | output/answer.json | | scrape | output/scrape.json | | scrape-get | output/scrape_get.json | | crawl | output/crawl_results.json | | batch-scrape | output/batch_results.json | | batch-update | output/batch_update.json |


Global flags

| Flag | Description | | ---- | ----------- | | -V, --version | Version | | -h, --help | Help |


Docs & support

Repository: github.com/olostep-api/CLI


Security

Keep API keys out of source control; rotate if leaked.

License

MIT