ScrapeBadger CLI
Google Light Search uses the dedicated /v1/google/light/search endpoint:
scrapebadger google light-search "vinted api" --gl us --hl en
Light returns organic results and related searches for 10 credits per successful
uncached request. Regular scrapebadger google search costs 20 credits and
returns the full SERP. Cache hits and failed requests are free.
Command-line access to ScrapeBadger APIs, including Etsy, AliExpress, Target, ASOS, Best Buy, search engines, social media and general web scraping.
Install
pip install scrapebadger-cli
# or: uv tool install scrapebadger-cli
The installed command is scrapebadger. To run without installing:
uvx --from scrapebadger-cli scrapebadger --help
Quick Start
scrapebadger login # approve in the browser; or: scrapebadger login --api-key sb_live_...
scrapebadger twitter user elonmusk
scrapebadger twitter search "AI agents" --output table
scrapebadger vinted search "nike shoes" --market de
scrapebadger web scrape https://example.com --js
Getting a key and setting up agents (0.24.0+)
scrapebadger init # detect Claude Code / Codex / Cursor; install skill + MCP
scrapebadger init --yes --all # same, without prompts
scrapebadger login # device flow: open the link, approve, key is saved
scrapebadger trial # 50 free credits without an account (one per network, 7 days)
scrapebadger connect # print the link that attaches a trial key to an account
init installs the ScrapeBadger skill (SKILL.md and references/endpoints.md)
into ~/.claude/skills/scrapebadger and ~/.codex/skills/scrapebadger, registers
the hosted MCP server (claude mcp add --scope user ..., codex mcp add ..., or a
merge into ~/.cursor/mcp.json that keeps your other servers), and offers login
or trial when no key is configured. Cursor has no on-disk global rules location,
so it gets the MCP server only.
trial solves a short proof of work, saves the key and prints a notice to pass on
to your human. A trial key works only from the IP that created it, on read APIs,
at 10 requests/min, and not through the hosted MCP server. It refuses to replace an
account key unless you pass --force.
Saved results and free re-reads
Every API command also writes its full JSON response to
~/.cache/scrapebadger/results/<api>-<command>-<UTC timestamp>.json (honours
XDG_CACHE_HOME; the newest 200 are kept) and prints one line to stderr:
saved: ~/.cache/scrapebadger/results/google-search-20261023T101500123456Z.json · credits: 20 · result_id: 6f1c...
stdout is unchanged. Disable with scrapebadger --no-save ... or SCRAPEBADGER_SAVE=0.
Re-slice a saved result locally, for free:
scrapebadger view --summary # newest result: types, list lengths, byte sizes
scrapebadger view --last google --max-items 5 --fields title,link
scrapebadger view path/to/result.json --jq '.organic_results[].link' # needs jq on PATH
--fields (dotted paths) and --max-items apply to the main item list (the
top-level array, else the largest top-level list); truncation adds
"_truncated": {"path", "kept", "total"}.
Re-read a result from the server within ~15 minutes, free, sliced server-side:
scrapebadger results get <result_id> --max-items 3 --fields id,text
Quotes, bug reports and feedback (all free)
scrapebadger quote /v1/google/search -p q="coffee" -p gl=us # cost, validation, latency
scrapebadger quote /v1/web/scrape --method POST --body '{"url": "https://example.com"}'
scrapebadger report-bug "Empty results for a public profile" --request-id <X-Request-ID> --endpoint /v1/instagram/users/x
scrapebadger feedback "Please add Pinterest" --details "..."
Error messages include the request_id to quote in a bug report, and the
upgrade or claim link when you are out of credits.
Environment
| Variable | Default | Purpose |
|---|---|---|
SCRAPEBADGER_API_KEY |
API key (wins over .env and ~/.config/scrapebadger/config.json) |
|
SCRAPEBADGER_API_URL |
https://scrapebadger.com |
API base URL, e.g. a local stack |
SCRAPEBADGER_SITE_URL |
https://scrapebadger.com |
Where init downloads the skill from |
SCRAPEBADGER_MCP_URL |
https://mcp.scrapebadger.com/mcp |
MCP server init registers |
SCRAPEBADGER_SAVE |
1 |
0 disables saving results |
Vinted mobile data (0.14.0+)
scrapebadger vinted mobile-operations
scrapebadger vinted mobile sold-comparables --market fr --params '{"catalog_id":"1242","brand_id":"53","status_id":"2"}'
scrapebadger vinted search "nike" --sizes 206 --materials 43
The catalog lists 76 public read operations with parameter types and examples. Each mobile read costs 1 credit; discovery is free. Sold comparables are a Vinted-selected sample, not a complete sales history or guaranteed final sale prices.
Vinted image search
scrapebadger vinted search-by-image --image photo.jpg --market nl --price-to 50
scrapebadger vinted search-by-image --image-url https://example.com/photo.webp --brand-ids 53
Provide exactly one of --image, --image-url or --image-base64. JPEG, PNG and
WebP up to 5 MiB are supported. Returns active listings in visual ranking order;
10 credits per successful request. Filter with --catalog-ids, --brand-ids,
--status-ids, --color-ids, --size-ids, --material-ids and price bounds.
Resend the same image and --time from pagination when requesting --page 2.
Dedicated ecommerce APIs
scrapebadger etsy search "ceramic mug" --currency USD --country US
scrapebadger aliexpress search "keyboard"
scrapebadger target search "laptop" --zip-code 55403 --store-id 1375
scrapebadger asos search "shoes" --market uk
scrapebadger bestbuy search "laptop"
Run scrapebadger <api> --help to list product, review, store, availability and
reference commands for that API. Each command supports --help for its exact
parameters. Requests use your API key's existing permissions and credit balance.
Metadata
Release files for scrapebadger-cli 0.24.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scrapebadger_cli-0.24.0.tar.gz | 98.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scrapebadger_cli-0.24.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 202.9 kB
Release files / scrapebadger_cli-0.24.0.tar.gz
| Download URL | scrapebadger_cli-0.24.0.tar.gz |
|---|---|
| Size | 98.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
79073b14b4cabf40dbeec999727b2e871d57dc30f8498c74d2375469bb2915a5
|
|
BLAKE2b-256 checksum How to use checksums |
0f34d0ed43912575bf7163eab9e8e6b98af4fb2f50ebd1b6de5a09e7c93a4947
|
| 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 23, 2026.
Transparency logRelease files / scrapebadger_cli-0.24.0-py3-none-any.whl
| Download URL | scrapebadger_cli-0.24.0-py3-none-any.whl |
|---|---|
| Size | 104.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ee5afeeea78c13508629af7bbe9a6ed9b70ede9d535978f6a1d4de9608a57d7
|
|
BLAKE2b-256 checksum How to use checksums |
7ddb18757ef1a17e4f040c323e55639f83dfca7bd91950c14f92d4727f92ce52
|
| 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 23, 2026.
Transparency logSecurity for scrapebadger-cli 0.24.0
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
All 2 files in this release have been uploaded with provenance metadata.
Attestation for scrapebadger_cli-0.24.0.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 23, 2026.
Transparency logA 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.