# Jungle Scout Alternative for Amazon Product Research (`khadinakbar/junglescout-alternative`) Actor

Get current Amazon product listings from a keyword with ASIN, price, rating, review count, BSR when available, source URL, and transparent heuristic signals. Use for on-demand research, not historical sales estimates or Seller Central analytics. $0.025 per result plus platform usage.

- **URL**: https://apify.com/khadinakbar/junglescout-alternative.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** E-commerce, Automation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.25 / amazon keyword research report

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Jungle Scout Alternative for Amazon Product Research

Get a fresh Amazon keyword research result with source-linked product records, current listed prices, ratings, review counts, collection time, and a transparent screening score. Sellers, analysts, and automation builders can turn one focused product phrase into a structured dataset for the next decision.

### Best fit and routing

Choose this Actor when a workflow needs a current Amazon listing sample for one keyword and marketplace. Start with a specific product phrase, apply the price or review filters, and pass the source-linked rows into your own margin check, catalog, or review workflow. The result is a focused data-collection step that works well alongside a broader seller suite.

### Workflow story

A seller starts with a phrase such as `insulated water bottle`, then selects the Amazon marketplace and a useful price or review band. The Actor collects one fresh results page, normalizes each usable listing, and writes the rows with a source URL and collection time. Next, the seller exports the dataset for manual margin validation or feeds it into an authorized product-screening workflow.

### Quick start input

```json
{
  "searchQuery": "insulated water bottle",
  "marketplace": "US",
  "maxResults": 20,
  "minPrice": 15,
  "maxPrice": 50,
  "maxReviewCount": 500
}
```

### Output and data contract

One dataset row represents one current Amazon listing returned by the selected marketplace. Unavailable listing fields stay explicit `null`, while `source`, `productUrl`, and `collectedAt` preserve provenance for downstream review.

| Field | Type | Meaning |
|---|---|---|
| `asin` | string | Amazon Standard Identification Number. |
| `title` | string | Current listing title. |
| `brand` | string or null | Brand when the provider exposes it. |
| `price` / `currency` | number / string or null | Current listed price and detected currency. |
| `rating` / `reviewCount` | number or null | Current rating and review count when available. |
| `opportunityScore` | number or null | Transparent ordering signal from observed price, rating, and review count. |
| `scoreConfidence` / `scoreSignals` | string / string\[] | Signal coverage and the inputs used by the score. |
| `marketplace` | string | Amazon storefront domain used for the query. |
| `productUrl` / `collectedAt` | string | Source listing URL and collection timestamp. |
| `source` | string | `serpapi-amazon-search` provenance label. |

```json
{
  "asin": "B0D2W1MKZX",
  "title": "Fijinhom Insulated Water Bottle with Handle",
  "brand": null,
  "price": 14.99,
  "currency": "USD",
  "rating": 4.4,
  "reviewCount": 1700,
  "bsrRank": null,
  "marketplace": "amazon.com",
  "productUrl": "https://www.amazon.com/dp/B0D2W1MKZX/",
  "collectedAt": "2026-08-31T07:38:39.067Z",
  "opportunityScore": 35,
  "scoreConfidence": "high",
  "scoreSignals": ["review-count:1700", "price:14.99", "rating:4.4"],
  "scoreLimitations": "A transparent heuristic from current listed price, rating, and review count when available. It is not a sales, demand, revenue, or profitability estimate.",
  "source": "serpapi-amazon-search"
}
```

### How this alternative compares with Jungle Scout

This independent Actor covers the narrow keyword-to-listing job; Jungle Scout is the route for a broader membership suite. Jungle Scout lists Starter at $49/month or $348/year and Growth Accelerator at $79/month or $588/year in its membership documentation. Compare the same job and the next workflow step before choosing.

| Decision | This Actor | Jungle Scout | Routing |
|---|---|---|---|
| Scope and workflow | One fresh Amazon keyword report with source-linked listing rows. | Broader seller and product-research suite. | Choose the bounded report for a focused collection step. |
| Billing and same-job cost | $0.25 per completed report plus platform usage; 200 reports are $50 before usage. | Membership-plan pricing with wider tool access. | Compare report volume and the rest of the workflow together. |
| Effective efficiency | One provider request per report, a predictable 48-listing ceiling, and machine-readable terminal records. | Suite workflows cover more jobs but involve broader product navigation. | Use the route that minimizes operator steps for the decision at hand. |
| Input friction | Keyword, marketplace, and bounded price or review filters. | Account and membership workflow across its tools. | Start here for a direct API-shaped request. |
| Output contract | JSON rows retain ASIN, source URL, collection time, and explicit nulls. | Dashboard and historical outputs for broader research workflows. | Export this dataset when structured rows are the next step. |
| Integrations and automation | Apify API, datasets, `OUTPUT`, `RUN_SUMMARY`, and Apify MCP access. | Broader integrated membership workflows and plan-dependent API access. | Feed this result into an authorized downstream system. |
| Freshness and provenance | Each row records the current search source and collection time. | Choose the suite when history and tracking are the next requirement. | Re-run a focused query whenever a fresh snapshot is useful. |

Jungle Scout is a trademark of its owner. This independent Actor is not affiliated, associated, or endorsed by Jungle Scout.

### Pricing

This Actor uses **Pay per event** plus Apify platform usage. The current live price is **$0.25 once per completed Amazon keyword research report**, including a valid empty report after a completed provider search. The report includes up to 48 product rows and never charges per row. Check the live Pricing tab for the latest event price and platform-usage details before a production run.

### Use through the API

```bash
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~junglescout-alternative/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQuery":"insulated water bottle","marketplace":"US","maxResults":20,"minPrice":15,"maxPrice":50,"maxReviewCount":500}'
```

### Use with AI agents through Apify MCP

> Run a current US Amazon listing report for insulated water bottles priced from $15 to $50 with a review ceiling of 500. Return the dataset, source URL, collection time, score signals, cost, scope, and terminal outcome; preserve readback and provenance for the next decision.

An MCP client can read the dataset and `OUTPUT` / `RUN_SUMMARY` records after the run. Keep the report scope bounded, validate the terminal outcome, and pass only authorized data into downstream tools.

### Best results and freshness

Provide a specific product phrase rather than a broad department label. Start with `maxResults` 20, then adjust the price and review filters for the decision you are making. Confirm the marketplace before comparing rows across regions, and re-run the same phrase when a current snapshot matters. Pair the dataset with your own product, margin, demand, and launch validation.

### Focused standalone workflow

This Actor is designed as a focused standalone workflow for current Amazon listing collection. It turns one authorized keyword request into source-linked rows that are ready for manual review, spreadsheet analysis, or an API-driven next step.

### Builder's note

I built the direct provider route around one fresh search per report so the billing unit stays predictable. I designed the normalizer to retain explicit nulls and source fields when Amazon exposes fewer signals. I learned that a transparent score is most useful as an ordering aid beside direct listing and margin validation.

### Responsible use

Use public or otherwise authorized data, respect applicable laws and site terms, and treat the records as research inputs alongside product, financial, demand, and launch validation.

# Actor input Schema

## `searchQuery` (type: `string`):

The current Amazon search phrase to research, for example 'insulated water bottle'. Use a product or niche phrase, not an ASIN or Amazon URL. This is required and is sent to the chosen marketplace search. The Actor returns current matching product listings, not keyword-search volume.

## `marketplace` (type: `string`):

The Amazon storefront used for the product search, for example 'US' for amazon.com. Choose the marketplace where you intend to evaluate current listings. Defaults to US. This is not a shipping address or proxy-country control.

## `maxResults` (type: `integer`):

The maximum number of unique product records to return, for example 20. One completed keyword report is charged once regardless of returned record count; this limit is capped at 48 because one report collects one fresh Amazon results page. This is not a promise that every query has that many matches.

## `minPrice` (type: `number`):

Optional lower bound for the current listed product price, for example 15. Records with a known price below the bound are excluded. Defaults to 0; records with no listed price remain visible because the Actor does not invent price data. This is not a profitability calculation.

## `maxPrice` (type: `number`):

Optional upper bound for the current listed product price, for example 50. Records with a known price above the bound are excluded. Defaults to 10000 and must be at least the minimum price. This is not a sales-revenue estimate.

## `maxReviewCount` (type: `integer`):

Optional ceiling for current review counts, for example 500. Records with a known count above it are excluded to inspect less-established listings. Defaults to 100000; records with no review count remain visible with an explicit lower-confidence score. This does not measure total market competition.

## Actor input object example

```json
{
  "searchQuery": "insulated water bottle",
  "marketplace": "US",
  "maxResults": 20,
  "minPrice": 0,
  "maxPrice": 50,
  "maxReviewCount": 500
}
```

# Actor output Schema

## `opportunities` (type: `string`):

One current source-linked Amazon product record per dataset item.

## `runOutput` (type: `string`):

Machine-readable terminal outcome, item count, provider run, and charge counts.

## `runSummary` (type: `string`):

Detailed terminal summary for automation and diagnostics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "insulated water bottle",
    "marketplace": "US",
    "maxResults": 20,
    "minPrice": 0,
    "maxPrice": 50,
    "maxReviewCount": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/junglescout-alternative").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "insulated water bottle",
    "marketplace": "US",
    "maxResults": 20,
    "minPrice": 0,
    "maxPrice": 50,
    "maxReviewCount": 500,
}

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/junglescout-alternative").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "insulated water bottle",
  "marketplace": "US",
  "maxResults": 20,
  "minPrice": 0,
  "maxPrice": 50,
  "maxReviewCount": 500
}' |
apify call khadinakbar/junglescout-alternative --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,khadinakbar/junglescout-alternative"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8nqn2FoA1dOiWgKWN/builds/flhFGmhzW2V67IDNy/openapi.json
