Research Etsy products, shops, and keywords from EverBee in a repeatable agent-ready workflow.
EverBee is strongest inside an interactive browser. This CLI turns captured product analytics, shop analyzer, and keyword research workflows into repeatable commands with JSON, local snapshots, search, SQL, and cross-workflow opportunity scoring.
Learn more at EverBee.
Created by @horknfbr (horknfbr).
Authentication
EverBee uses Google login in the browser. Captured API requests authenticate with an x-access-token header; set EVERBEE_ACCESS_TOKEN for CLI calls until browser-login replay is proven.
Quick Start
# Confirm the access token and API reachability before running research commands.
everbee-pp-cli doctor
# Pull the product analytics table for the current account.
everbee-pp-cli product-analytics --per-page 25 --time-range last_30_days --json
# Inspect keyword suggestions in a narrowed JSON shape.
everbee-pp-cli keyword-research --type-of-search keyword --json --select data
# Fetch shop analyzer results for competitor research.
everbee-pp-cli shops --per-page 25 --json
# Rank product opportunities after data has been synced or fetched.
everbee-pp-cli opportunity shortlist --query "teacher gift" --limit 25 --agent
Unique Features
These capabilities aren't available in any other tool for this API.
Cross-workflow opportunity scoring
Insight commands read local research snapshots first. If matching data is missing or stale, they refresh only the EverBee data needed for that query and save the result locally for repeat analysis. Use --no-refresh for offline/local-only runs, --refresh to force a targeted pull, and --max-age to control freshness.
-
opportunity shortlist — Rank Etsy product opportunities by combining product analytics, keyword demand, competition, and local trend history.
Use this when an agent needs a short list of products worth researching or creating next.
everbee-pp-cli opportunity shortlist --query "teacher gift" --limit 25 --agent
-
niche score — Score a niche by weighing search demand, competition, product saturation, pricing, and trend movement.
Use this before committing to a product niche or SEO direction.
everbee-pp-cli niche score --keyword "mother's day mug" --agent
Competitor intelligence
-
shop gaps — Find competitor shop openings from product mix, pricing bands, tags, and keyword coverage.
Use this when comparing a target Etsy shop against market demand.
everbee-pp-cli shop gaps --shop competitor-shop --agent
-
competitors watch — Detect competitor changes in top products, price bands, and tags across saved shop snapshots.
Use this to monitor shops without manually reopening EverBee dashboards.
everbee-pp-cli competitors watch --shop competitor-shop --agent
SEO and tag strategy
-
tags gap — Compare winning listing tags against a target shop or keyword set to reveal missing SEO coverage.
Use this when optimizing tags from competitor evidence instead of guessing.
everbee-pp-cli tags gap --query candle --shop my-shop --agent
-
keywords cluster — Group related keyword suggestions by term overlap, demand, competition, and opportunity score.
Use this to turn raw keyword suggestions into listing-title and tag themes.
everbee-pp-cli keywords cluster --seed "wedding sign" --agent
-
listing audit — Audit a listing's keyword and tag fit using EverBee-derived product and keyword context.
Use this when checking whether a listing matches the market signals behind a niche.
everbee-pp-cli listing audit --listing-id 123456789 --agent
Local history that compounds
-
trends diff — Compare saved research snapshots to show which products, shops, or keywords moved over time.
Use this when deciding whether a niche is growing, fading, or seasonally spiking.
everbee-pp-cli trends diff --query "teacher gift" --days 30 --agent
Recipes
Narrow product analytics for agents
everbee-pp-cli product-analytics --per-page 25 --time-range last_30_days --agent --select data
Fetch a compact product analytics payload for downstream ranking.
Cluster keywords from a seed
everbee-pp-cli keywords cluster --seed "wedding sign" --agent
Group keyword suggestions into usable listing and tag themes.
Find competitor openings
everbee-pp-cli shop gaps --shop competitor-shop --agent
Compare competitor shop data against keyword and product opportunities.
Track niche movement
everbee-pp-cli trends diff --query "teacher gift" --days 30 --agent
Use saved snapshots to identify rising or fading research targets.
Usage
Run everbee-pp-cli --help for the full command reference and flag list.
Commands
folders
Operations on folders
everbee-pp-cli folders - GET /folders
keyword_research
Operations on default_keyword_suggestion
everbee-pp-cli keyword-research - GET /keyword_research/default_keyword_suggestion
management_modals
Operations on management_modals
everbee-pp-cli management-modals - GET /management_modals
product_analytics
Operations on default_product_analytics
everbee-pp-cli product-analytics - GET /product_analytics/default_product_analytics
shops
Operations on shops
everbee-pp-cli shops - GET /shops
Output Formats
# Human-readable table (default in terminal, JSON when piped)
everbee-pp-cli folders
# JSON for scripting and agents
everbee-pp-cli folders --json
# Filter to specific fields
everbee-pp-cli folders --json --select id,name,status
# Dry run — show the request without sending
everbee-pp-cli folders --dry-run
# Agent mode — JSON + compact + no prompts in one flag
everbee-pp-cli folders --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--json output to stdout, errors to stderr
- Filterable -
--select id,name returns only fields you need
- Previewable -
--dry-run shows the request without sending
- Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendly is set
Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.
Freshness
This CLI owns bounded freshness for registered store-backed read command paths. In --data-source auto mode, covered commands check the local SQLite store before serving results; stale or missing resources trigger a bounded refresh, and refresh failures fall back to the existing local data with a warning. --data-source local never refreshes, and --data-source live reads the API without mutating the local store.
Set EVERBEE_NO_AUTO_REFRESH=1 to disable the pre-read freshness hook while preserving the selected data source.
Covered command paths:
everbee-pp-cli competitors watch
everbee-pp-cli folders
everbee-pp-cli folders get
everbee-pp-cli folders list
everbee-pp-cli folders search
everbee-pp-cli keyword_research
everbee-pp-cli keyword_research get
everbee-pp-cli keyword_research list
everbee-pp-cli keyword_research search
everbee-pp-cli opportunity shortlist
everbee-pp-cli product_analytics
everbee-pp-cli product_analytics get
everbee-pp-cli product_analytics list
everbee-pp-cli product_analytics search
everbee-pp-cli report export
everbee-pp-cli shops
everbee-pp-cli shops get
everbee-pp-cli shops list
everbee-pp-cli shops search
JSON outputs that use the generated provenance envelope include freshness metadata at meta.freshness. This metadata describes the freshness decision for the covered command path; it does not claim full historical backfill or API-specific enrichment.
Health Check
everbee-pp-cli doctor
Verifies configuration, credentials, and connectivity to the API.
Configuration
Config file: ~/.config/everbee-pp-cli/config.toml
Static request headers can be configured under headers; per-command header overrides take precedence.
Environment variables:
| Name | Kind | Required | Description |
|---|
EVERBEE_ACCESS_TOKEN | per_call | Yes | Set to your API credential. |
agentcookie (optional)
If you use agentcookie to sync secrets across machines, this CLI auto-adopts agentcookie-managed credentials with no extra setup. When the daemon writes to this CLI's config, everbee-pp-cli doctor reports agentcookie: detected and auth-status labels the source as agentcookie. Skip this section if you don't use agentcookie - the CLI works the same as any other.
Troubleshooting
Authentication errors (exit code 4)
- Run
everbee-pp-cli doctor to check credentials
- Verify the environment variable is set:
echo $EVERBEE_ACCESS_TOKEN
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
list command to see available items
API-specific
- 401 or 403 from EverBee endpoints — Set a fresh
EVERBEE_ACCESS_TOKEN captured from a logged-in EverBee browser session.
- Empty product or keyword results — Run the matching EverBee app workflow in the browser first, then refresh the token and retry with a smaller
--per-page value.
- Opportunity commands return no local history — Run
everbee-pp-cli sync --full or fetch product, shop, and keyword commands before derived analysis.
HTTP Transport
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
Discovery Signals
This CLI was generated with browser-captured traffic analysis.
- Target observed: https://track.getgist.com/projects/7tn4opfe/end_users/ping
- Capture coverage: 31 API entries from 191 total network entries
- Reachability: standard_http (65% confidence)
- Protocols: rest_json (75% confidence)
- Candidate command ideas: create_b — Derived from observed POST /b traffic.; create_monitoring — Derived from observed POST /monitoring traffic.; list_default_keyword_suggestion — Derived from observed GET /keyword_research/default_keyword_suggestion traffic.; list_default_product_analytics — Derived from observed GET /product_analytics/default_product_analytics traffic.; list_folders — Derived from observed GET /folders traffic.; list_management_modals — Derived from observed GET /management_modals traffic.; list_ping — Derived from observed GET /projects/7tn4opfe/end_users/ping traffic.; list_shops — Derived from observed GET /shops traffic.
Generated by CLI Printing Press