Skip to main content
Glama

rowfeed/amazon-product-tracker

rowfeed--amazon-product-tracker
Destructive

This tool calls the Actor "rowfeed/amazon-product-tracker" and retrieves its output results. Actor description: Amazon search results and product details for any keyword or ASIN: rank, price, rating, reviews count, Best Sellers Rank, Amazon's Choice, sponsored flag. Licensed data, no blocked runs. $1 per 1,000 products.

Input Schema

NameRequiredDescriptionDefault
asinsNoOptional: ASINs or Amazon product URLs (up to 1,000) for full product details: price, discount, availability, rating, Best Sellers Rank, categories, variants, description.
sortByNoAmazon's sort order for the searches. Example values: "relevance"relevance
languageNoMarketplace language, e.g. English (United States), English (United Kingdom), German (Germany), French (France). Empty = the marketplace default. Example values: "English (United States)"English (United States)
locationNoCountry (and marketplace) as DataForSEO names it: United States, United Kingdom, Germany, France, Italy, Spain, Canada, India, Japan, Australia ... Example values: "United States"United States
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
trackAsinsNoOptional: your ASINs. Search rows get tracked: true when the product is yours, so you can follow your rank per keyword over time.
searchQueriesNoWhat to search Amazon for, up to 500 per run. Each search returns the products in Amazon's own order (organic and sponsored). Example values: ["wireless earbuds"]
maxProductsPerSearchNoHow many products per search, 10 to 700. Example values: 20

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "asin": {
      +      "type": "string"
      +    },
      +    "bought_past_month": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "checked_at": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "delivery": {
      +      "type": "string"
      +    },
      +    "from_snapshot": {
      +      "type": "boolean"
      +    },
      +    "image_url": {
      +      "type": "string"
      +    },
      +    "is_amazon_choice": {
      +      "type": "boolean"
      +    },
      +    "is_best_seller": {
      +      "type": "boolean"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "marketplace": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "price_to": {
      +      "type": "null"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "rank": {
      +      "type": "number"
      +    },
      +    "rank_absolute": {
      +      "type": "number"
      +    },
      +    "rating": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "reviews_count": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "sort_by": {
      +      "type": "string"
      +    },
      +    "sponsored": {
      +      "type": "boolean"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "tracked": {
      +      "type": "null"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / language / prefill
      Added value: +"English (United States)"
    • addedInput schema / properties / location / prefill
      Added value: +"United States"
    • addedInput schema / properties / searchQueries / prefill
      Added value: +[
      +  "wireless earbuds"
      +]
  3. Changed1 schema field changed
    • addedInput schema / description
      Added value: +"Live lookups need a paid Apify plan (any plan). The pre-filled example works on the free plan."
  4. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "asin": {
      -      "type": "string"
      -    },
      -    "bought_past_month": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "checked_at": {
      -      "type": "string"
      -    },
      -    "currency": {
      -      "type": "string"
      -    },
      -    "delivery": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "image_url": {
      -      "type": "string"
      -    },
      -    "is_amazon_choice": {
      -      "type": "boolean"
      -    },
      -    "is_best_seller": {
      -      "type": "boolean"
      -    },
      -    "language": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "marketplace": {
      -      "type": "string"
      -    },
      -    "price": {
      -      "type": "number"
      -    },
      -    "price_to": {
      -      "type": "null"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "rank": {
      -      "type": "number"
      -    },
      -    "rank_absolute": {
      -      "type": "number"
      -    },
      -    "rating": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "reviews_count": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "sort_by": {
      -      "type": "string"
      -    },
      -    "sponsored": {
      -      "type": "boolean"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "tracked": {
      -      "type": "null"
      -    },
      -    "url": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  5. Changed4 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / currency / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +"string"
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / delivery / type
      Previous value: -"string"New value: +[
      +  "null",
      +  "string"
      +]
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / from_snapshot
      Removed value: -{
      -  "type": "boolean"
      -}
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / price / type
      Previous value: -[
      -  "null",
      -  "number"
      -]New value: +"number"
  6. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "asin": {
      +      "type": "string"
      +    },
      +    "bought_past_month": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "checked_at": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "delivery": {
      +      "type": "string"
      +    },
      +    "from_snapshot": {
      +      "type": "boolean"
      +    },
      +    "image_url": {
      +      "type": "string"
      +    },
      +    "is_amazon_choice": {
      +      "type": "boolean"
      +    },
      +    "is_best_seller": {
      +      "type": "boolean"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "marketplace": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "price_to": {
      +      "type": "null"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "rank": {
      +      "type": "number"
      +    },
      +    "rank_absolute": {
      +      "type": "number"
      +    },
      +    "rating": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "reviews_count": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "sort_by": {
      +      "type": "string"
      +    },
      +    "sponsored": {
      +      "type": "boolean"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "tracked": {
      +      "type": "null"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "asin": {
      -      "type": "string"
      -    },
      -    "bought_past_month": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "checked_at": {
      -      "type": "string"
      -    },
      -    "currency": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "delivery": {
      -      "type": "string"
      -    },
      -    "from_snapshot": {
      -      "type": "boolean"
      -    },
      -    "image_url": {
      -      "type": "string"
      -    },
      -    "is_amazon_choice": {
      -      "type": "boolean"
      -    },
      -    "is_best_seller": {
      -      "type": "boolean"
      -    },
      -    "language": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "marketplace": {
      -      "type": "string"
      -    },
      -    "price": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "price_to": {
      -      "type": "null"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "rank": {
      -      "type": "number"
      -    },
      -    "rank_absolute": {
      -      "type": "number"
      -    },
      -    "rating": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "reviews_count": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "sort_by": {
      -      "type": "string"
      -    },
      -    "sponsored": {
      -      "type": "boolean"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "tracked": {
      -      "type": "null"
      -    },
      -    "url": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  8. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "asin": {
      +      "type": "string"
      +    },
      +    "bought_past_month": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "checked_at": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "delivery": {
      +      "type": "string"
      +    },
      +    "from_snapshot": {
      +      "type": "boolean"
      +    },
      +    "image_url": {
      +      "type": "string"
      +    },
      +    "is_amazon_choice": {
      +      "type": "boolean"
      +    },
      +    "is_best_seller": {
      +      "type": "boolean"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "marketplace": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "price_to": {
      +      "type": "null"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "rank": {
      +      "type": "number"
      +    },
      +    "rank_absolute": {
      +      "type": "number"
      +    },
      +    "rating": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "reviews_count": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "sort_by": {
      +      "type": "string"
      +    },
      +    "sponsored": {
      +      "type": "boolean"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "tracked": {
      +      "type": "null"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  9. Changed1 schema field changed
    • removedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Removed value: -{
      -  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -  "properties": {
      -    "asin": {
      -      "type": "string"
      -    },
      -    "bought_past_month": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "checked_at": {
      -      "type": "string"
      -    },
      -    "currency": {
      -      "type": [
      -        "null",
      -        "string"
      -      ]
      -    },
      -    "delivery": {
      -      "type": "string"
      -    },
      -    "from_snapshot": {
      -      "type": "boolean"
      -    },
      -    "image_url": {
      -      "type": "string"
      -    },
      -    "is_amazon_choice": {
      -      "type": "boolean"
      -    },
      -    "is_best_seller": {
      -      "type": "boolean"
      -    },
      -    "language": {
      -      "type": "string"
      -    },
      -    "location": {
      -      "type": "string"
      -    },
      -    "marketplace": {
      -      "type": "string"
      -    },
      -    "price": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "price_to": {
      -      "type": "null"
      -    },
      -    "query": {
      -      "type": "string"
      -    },
      -    "rank": {
      -      "type": "number"
      -    },
      -    "rank_absolute": {
      -      "type": "number"
      -    },
      -    "rating": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "reviews_count": {
      -      "type": [
      -        "null",
      -        "number"
      -      ]
      -    },
      -    "sort_by": {
      -      "type": "string"
      -    },
      -    "sponsored": {
      -      "type": "boolean"
      -    },
      -    "title": {
      -      "type": "string"
      -    },
      -    "tracked": {
      -      "type": "null"
      -    },
      -    "url": {
      -      "type": "string"
      -    }
      -  },
      -  "type": "object"
      -}
  10. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "asin": {
      +      "type": "string"
      +    },
      +    "bought_past_month": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "checked_at": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "delivery": {
      +      "type": "string"
      +    },
      +    "from_snapshot": {
      +      "type": "boolean"
      +    },
      +    "image_url": {
      +      "type": "string"
      +    },
      +    "is_amazon_choice": {
      +      "type": "boolean"
      +    },
      +    "is_best_seller": {
      +      "type": "boolean"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "marketplace": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "price_to": {
      +      "type": "null"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "rank": {
      +      "type": "number"
      +    },
      +    "rank_absolute": {
      +      "type": "number"
      +    },
      +    "rating": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "reviews_count": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "sort_by": {
      +      "type": "string"
      +    },
      +    "sponsored": {
      +      "type": "boolean"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "tracked": {
      +      "type": "null"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  11. First observed

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the safety profile is structured. The description adds genuinely useful context the annotations do not: licensed data, no blocked runs, and $1 per 1,000 products pricing. However, it never says the call starts a billable Actor run, nor how waitSecs/nextStep polling behaves, leaving the cost-incurring behavior only half explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the data scope front-loaded; the only waste is the boilerplate 'This tool calls the Actor ... and retrieves its output results' wrapper, which restates the obvious. It is short enough that no sentence is burdensome.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the input schema is fully described, so return values and parameters need no explanation here. The description supplies pricing and licensing context appropriate for a paid scraping Actor; the main omission is run-lifecycle guidance (billing trigger, polling) for a tool that launches a run.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 8 parameters (asins, searchQueries, trackAsins, maxProductsPerSearch, waitSecs, sortBy, language, location) is already documented in the schema. The description adds no parameter-level meaning beyond echoing 'keyword or ASIN', so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and verb: it calls the 'rowfeed/amazon-product-tracker' Actor and returns Amazon search results and product details, enumerating the fields (rank, price, rating, reviews count, BSR, Amazon's Choice, sponsored flag). An agent can tell this is the Amazon marketplace scraper rather than a generic SERP tool, though it never names a sibling to contrast with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by 'for any keyword or ASIN' — there is no statement of when to pick this over neighbors such as rowfeed--google-shopping-prices or rowfeed--google-serp-api, and no note that live lookups require a paid plan (that constraint lives only in the schema).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.