Skip to main content

Geonode Scraper CLI

Get your free API key: sign up at geonode.com.

gscraper is the command-line interface for the Geonode Scraper API. It is a thin presentation layer over geonode-scraper-tools-core: commands parse flags, resolve configuration, call a stable service method, and render the result. All domain logic (validation, polling, retries) lives in the service layer, not in the CLI.

Requirements

  • Python 3.10+
  • Works on Linux, macOS, and Windows

Installation

Recommended — install as a standalone tool with pipx:

pipx install geonode-scraper-cli

pipx installs gscraper into its own isolated virtual environment and puts it on your PATH, so it never conflicts with other Python projects. This is the preferred way to install CLI tools globally.

Alternative — install with pip:

pip install geonode-scraper-cli

Windows note: on Windows the gscraper command is placed in the Python Scripts folder (e.g. %APPDATA%\Python\Python3xx\Scripts). If the command is not found after installation, add that folder to your PATH, or use python -m geonode_scraper_cli as a fallback. pipx handles this automatically and is the simpler choice on Windows.

Configuration

Configuration is resolved with the following precedence (highest first):

  1. Command-line flags (--api-key, --host, ...)
  2. Environment variables (GEONODE_SCRAPER_API_KEY, GEONODE_SCRAPER_HOST, GEONODE_SCRAPER_VERIFY_SSL, GEONODE_SCRAPER_TIMEOUT, GEONODE_SCRAPER_PROFILE)
  3. A TOML config file at ~/.config/geonode-scraper/config.toml
  4. Built-in defaults

Prefer environment variables or the config file for your API key — passing --api-key on the command line can leak it into your shell history.

Example ~/.config/geonode-scraper/config.toml:

[default]
host = "https://api.example.com"
api_key = "your-api-key"
verify_ssl = true

[staging]
host = "https://staging.example.com"
api_key = "your-staging-key"

Select a non-default profile with --profile staging or GEONODE_SCRAPER_PROFILE=staging. Inspect the active configuration with:

gscraper config path     # print the config file location
gscraper config show     # show profiles (API keys masked)

Output

Commands print a human-readable summary by default. Use --json or --yaml to print the raw result envelope for scripting. These flags can appear either before the subcommand (global position) or after it (per-command position) — both work:

gscraper extract https://example.com --json | jq -r .result.data.markdown
gscraper --json extract https://example.com | jq -r .result.data.markdown

The JSON/YAML envelope has the shape { "ok": bool, "operation": str, "result": {...} } on success, or { "ok": false, "operation": str, "error": {...} } on failure.

Commands

gscraper extract URL [--format markdown|html] [--render-js] [--async] \
                     [--proxy-country US] [--proxy-type residential] \
                     [--header "K: V"] [--output out.md]

gscraper jobs get JOB_ID
gscraper jobs list [--status completed] [--url ...] [--page N]
gscraper jobs wait JOB_ID [--timeout S] [--interval S]

gscraper batch create URL [URL ...] [--format markdown]
gscraper batch status JOB_ID
gscraper batch wait JOB_ID [--timeout S] [--interval S]
gscraper batch list [--status ...]
gscraper batch cancel JOB_ID

gscraper crawl create URL [--depth 2] [--limit 50] [--include-subdomains]
gscraper crawl status JOB_ID
gscraper crawl wait JOB_ID
gscraper crawl list [--url ...]
gscraper crawl cancel JOB_ID

gscraper map run URL [--search term] [--include-subdomains]   # primary action
gscraper map jobs list                                        # inspect past map jobs
gscraper map jobs get JOB_ID

gscraper search run QUERY [--locale en] [--page 1] [--safe off] [--time-range week]
gscraper search jobs list [--query ...] [--status completed]
gscraper search jobs get JOB_ID

gscraper stats [--start-date ISO] [--end-date ISO]
gscraper usage concurrency
gscraper health

Run gscraper --help or gscraper <command> --help for full details.

Exit codes

Code Meaning
0 Success
1 Generic error
2 Usage / invalid arguments
4 Authentication / authorization (401, 403)
5 Not found (404)
6 Validation error (422)
7 Network / connection error
8 Polling timeout (wait commands)

Shell completion

gscraper --install-completion

Metadata

Release files for geonode-scraper-cli 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geonode-scraper-cli 0.2.2
File Size Uploaded Provenance Actions
geonode_scraper_cli-0.2.2.tar.gz 19.1 kB With provenance Details for geonode_scraper_cli-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for geonode-scraper-cli 0.2.2
File Interpreter ABI Platform Actions
geonode_scraper_cli-0.2.2-py3-none-any.whl Python 3 none any Details for geonode_scraper_cli-0.2.2-py3-none-any.whl

Total release size: 43.7 kB

Release files / geonode_scraper_cli-0.2.2.tar.gz

Download URL geonode_scraper_cli-0.2.2.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8071d075595b016022f80aa61d995f7eac74a9fde96e73b05a673e55a696d878
BLAKE2b-256 checksum
How to use checksums
c2adb359e4f622079c1a6177ec21c1ce98d65ab6b8597f2c42fedd1de14a8105
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / geonode_scraper_cli-0.2.2-py3-none-any.whl

Download URL geonode_scraper_cli-0.2.2-py3-none-any.whl
Size 24.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca9bf917638cb59820d4cc17b9a78844371eccd0025f40c6c3f789349bb0b13c
BLAKE2b-256 checksum
How to use checksums
e7ce16449e98ffd513b86692fc84f0f9654538cc830ad1a3afbad36839de23c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for geonode-scraper-cli 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for geonode_scraper_cli-0.2.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page