Digital Product Opportunity Radar
Pricing
from $490.00 / 1,000 opportunity reports
Digital Product Opportunity Radar
Find digital product opportunities using live Etsy market evidence and Pinterest trend validation. Rank niches by demand, competition, digital fit, margin, freshness, and trend momentum with transparent TEST / WATCH / SKIP decisions.
Pricing
from $490.00 / 1,000 opportunity reports
Rating
0.0
(0)
Developer
Furkan Toluç
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Digital Product Opportunity Radar — Etsy + Pinterest
Find evidence-backed digital product opportunities using live Etsy market signals and Pinterest trend validation.
This Apify Actor is a focused product opportunity finder for creators deciding which digital-product niche to test next. It is not a generic scraper or an AI idea generator. It turns normalized marketplace evidence into transparent rankings, confidence scores, and TEST / WATCH / SKIP decisions.
1. What this Actor does
Give the Actor up to five seed niches, such as ADHD planner. It discovers related Etsy keyword opportunities, shortlists candidates using Etsy commercial evidence, validates those candidates against Pinterest trends, and returns one Dataset row per ranked opportunity.
Example result:
ADHD Morning Routine CardsOpportunity: 82/100Confidence: 89/100Decision: TESTWhy:- strong Etsy demand- manageable entry headroom- positive Pinterest validation
Numbers above are illustrative. Production scores are calculated only from normalized upstream evidence; missing values remain null.
Use it for Etsy product research, Etsy keyword research, printable product research, Etsy niche research, market validation, and prioritizing digital downloads. It can surface stronger and weaker candidates related to a seed; it does not promise “low competition Etsy niches” or guaranteed sales.
2. Who it is for
- Etsy digital-product and printable sellers
- Designers researching editable templates, planners, worksheets, trackers, and bundles
- Product researchers comparing digital product ideas with current evidence
- Agencies or automation builders that need structured niche-research output through the Apify API
3. How it works
Seed niche→ Etsy keyword discovery→ Etsy adapter and normalization→ evidence-based candidate shortlist→ Pinterest trend validation→ Pinterest adapter and normalization→ transparent opportunity + confidence scoring→ ranked Dataset rows and full reports
Etsy is the primary commercial evidence source. Pinterest trends are secondary validation and cannot overpower Etsy in the score.
The default upstream Actors are configurable without changing business logic:
- Etsy:
yumitori/etsy-keyword-tool - Pinterest:
yumitori/pinterest-trends-scraperin keyword-research mode
4. Input
{"seeds": ["ADHD planner","kids screen free activities"],"country": "US","maxOpportunities": 10,"candidateLimitPerSeed": 20,"etsyExpansionDepth": 1,"debug": false}
| Field | Required | Default | Limits |
|---|---|---|---|
seeds | Yes | — | 1–5 strings, each 2–80 characters |
country | No | US | US, GB, CA, DE, FR, IT, ES, BR, MX, AR, IN |
maxOpportunities | No | 10 | 1–20 |
candidateLimitPerSeed | No | 20 | 1–40 |
etsyExpansionDepth | No | 1 | 1 or 2 |
debug | No | false | Includes safe normalization/scoring metadata; never secrets |
5. Output
The default Dataset receives one item per opportunity. Each record contains:
- the original seed, final rank, normalized keyword, suggested product, and conservative product format
- Opportunity Score, Confidence Score, and decision
- all normalized score components
- Etsy sample size, listings, average price, carts, recent-sales/listing shares, discount density, and digital-product share
- qualified Pinterest term, match quality, search volumes, multi-week momentum windows, trend evidence, and
FULL/PARTIAL/NONEevidence quality - available Etsy and Pinterest evidence; missing or low-quality evidence is
null - deterministic reasons and signal-supported risks
- real source URLs when upstream data supplies them
The default Key-Value Store also contains:
OUTPUT.json: the full machine-readable reportREPORT.md: a concise human-readable report
6. Opportunity Score
The 0–100 Opportunity Score uses these components:
| Component | Weight |
|---|---|
| Etsy demand | 30% |
Entry headroom (100 - competition) | 25% |
Digital fit (digital_pct) | 15% |
| Pinterest validation | 15% |
| Margin potential | 10% |
Freshness (recent_listings_pct) | 5% |
Missing components are ignored and available weights are re-normalized. Missing Pinterest data is not converted to zero. A normal score requires Etsy demand plus additional Etsy evidence; otherwise the result is INSUFFICIENT_EVIDENCE.
7. Confidence Score
Confidence is separate from opportunity quality. A promising niche can have a high Opportunity Score and low Confidence Score when evidence coverage is thin.
| Confidence component | Weight |
|---|---|
| Etsy core-evidence completeness | 60% |
| Etsy sample credibility | 25% |
| Qualified cross-market confirmation | 15% |
Rich Etsy evidence can establish meaningful baseline confidence on its own. A qualified Pinterest match increases confidence; Pinterest remains optional and does not automatically lower the Etsy-based Opportunity Score when unavailable.
Pinterest evidence is FULL when a qualified match includes enough weekly history for stable multi-week comparison, PARTIAL when a qualified match has current-interest/trend evidence but no usable history, and NONE when no sufficiently related validation is available. Partial validation is deliberately discounted. Separately, matchType reports semantic specificity as EXACT, CLOSE, BROAD, or NONE; broad matches retain their raw trend evidence but receive a capped validation contribution because an important niche token was dropped.
8. TEST / WATCH / SKIP
TEST: Opportunity ≥ 75 and Confidence ≥ 60WATCH: Opportunity ≥ 60 but theTESTrule is not metSKIP: Opportunity < 60INSUFFICIENT_EVIDENCE: minimum Etsy evidence is unavailable
These decisions prioritize small, inexpensive product tests. They are not predictions or guarantees.
9. Example output
{"recordType": "opportunity","seed": "ADHD planner","rank": 1,"keyword": "adhd morning routine cards","suggestedProduct": "ADHD Morning Routine Cards","suggestedFormat": "Printable cards","opportunityScore": 82,"confidenceScore": 87,"decision": "TEST","scores": {"etsyDemand": 88,"entryHeadroom": 72,"digitalFit": 100,"pinterestValidation": 81,"marginPotential": 70,"freshness": 78}}
This example is illustrative, not hardcoded production data.
10. Data sources
The Actor orchestrates existing Apify Store Actors rather than maintaining its own Etsy or Pinterest crawlers. Adapters isolate upstream schemas from the scoring engine. Override providers with ETSY_ACTOR_ID and PINTEREST_ACTOR_ID when a compatible adapter mapping is available.
Cost protection defaults to $1.00 total across Etsy seed calls and $0.25 for the Pinterest call. Configure:
ETSY_MAX_TOTAL_CHARGE_USD=1.00PINTEREST_MAX_TOTAL_CHARGE_USD=0.25ETSY_TIMEOUT_SECONDS=300PINTEREST_TIMEOUT_SECONDS=300
The SDK passes these limits to child Actor runs. Etsy's configured budget is divided across the 1–5 seed calls so the run-level cap remains conservative.
11. Limitations
- Scores are research signals, not revenue guarantees.
- Etsy is the primary commercial evidence source.
- Pinterest is used as secondary trend validation.
- Pinterest attention does not necessarily equal purchasing demand.
- Missing Pinterest data is not treated as zero demand.
- Marketplace conditions change over time.
- Upstream Actor schemas and field coverage can change; unknown fields are not guessed.
- Results should prioritize small product tests, not justify large upfront investment.
- Upstream Actors can have their own pricing, availability, geographic coverage, and usage limits.
12. API / automation usage
Run locally after providing Apify credentials:
npm installnpm run buildapify run
Deploy from this directory:
npm install -g apify-cliapify loginapify validate-schemaapify push
Use the Apify API after deployment:
curl -X POST \"https://api.apify.com/v2/acts/YOUR_USERNAME~digital-product-opportunity-radar/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"seeds":["meal planner"],"country":"US","maxOpportunities":3,"candidateLimitPerSeed":5,"etsyExpansionDepth":1}'
Development and verification
Tests use sanitized fixtures and never call paid Actors:
npm run typechecknpm testnpm run build
Report charging is scaffolded but disabled by default. Enable it only after configuring Pay-Per-Event pricing in Apify Console:
ENABLE_REPORT_CHARGING=trueACTOR_TEST_PAY_PER_EVENT=true
The only future charge event in code is report_generated, issued after output is written and only when the effective pricing model is Pay-Per-Event.