Skip to main content
Glama

perchpermits/apify-store-trends

perchpermits--apify-store-trends
Destructive

This tool calls the Actor "perchpermits/apify-store-trends" and retrieves its output results. Actor description: Which Apify Store niches have demand and weak incumbents. One row per actor (30-day users, runs, fail rate, rating, price, idle days, gap signals, change since last snapshot) and one per niche with the leader, its share, and A-G flags. Search a niche in seconds or snapshot the catalog monthly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo`search` runs the store's own search for `query` (a few requests, seconds). `full` sweeps the whole catalog across every category and pricing model (tens of thousands of actors, about ten minutes) and is meant for a scheduled monthly snapshot. Example values: "search"search
queryNoWhat to search the store for, e.g. `google trends`, `bizbuysell`, `permits`. Required when mode is `search`; ignored in `full` mode. Example values: "google trends"
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.
maxActorsNoKeep at most this many actors, the most used first. In `full` mode set it high (5000) for a complete snapshot. Example values: 200
minUsers30dNoDrop actors with fewer users than this in the last 30 days. 0 keeps everything the store returns. Example values: 5
includeTargetsNoAlso emit one aggregate row per target bucket (and one for the search query, over the actors whose title or name match it): users, actor count, leader and its share, rating, fail rate, weighted and best rating, broken actors, and the A to G signals. Charged as `target`. Example values: true
requestDelaySecondsNoPoliteness delay toward the store API. Lower is faster but risks throttling. Example values: 0.2
snapshotDatasetNameNoOptional. Name of a dataset in your account. Every actor row is appended to it, and before writing, the newest snapshot already there is read to fill each row's `delta` (previous 30-day users, change, previous rating and fail rate, whether the actor is new). Same name every run, e.g. `store-snapshots`. Not charged again.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
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. Changed4 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / best_rating / type
      Previous value: -[
      -  "null",
      -  "number"
      -]New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / leader_rating / type
      Previous value: -[
      -  "null",
      -  "number"
      -]New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / price_usd / type
      Previous value: -[
      -  "null",
      -  "number"
      -]New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / weighted_rating / type
      Previous value: -[
      -  "null",
      -  "number"
      -]New value: +[
      +  "number",
      +  "null"
      +]
  2. Changed4 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / best_rating / type
      Previous value: -[
      -  "number",
      -  "null"
      -]New value: +[
      +  "null",
      +  "number"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / leader_rating / type
      Previous value: -[
      -  "number",
      -  "null"
      -]New value: +[
      +  "null",
      +  "number"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / price_usd / type
      Previous value: -[
      -  "number",
      -  "null"
      -]New value: +[
      +  "null",
      +  "number"
      +]
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / weighted_rating / type
      Previous value: -[
      -  "number",
      -  "null"
      -]New value: +[
      +  "null",
      +  "number"
      +]
  3. First observed

TDQS

A3.8/5.0
Behavior3/5

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

The description says it 'calls the Actor' and retrieves its output, which communicates that this is not a pure read from an existing resource. Annotations also flag readOnlyHint=false and destructiveHint=true, so the side-effect profile is known. However, the description does not mention billing, long-running full sweeps, or snapshot dataset writes; the schema partially covers these, but the description itself stays high-level.

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

Conciseness5/5

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

The description is two compact sentences with the operation and resource named first, followed by a concise output summary. There is no filler or redundant elaboration.

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?

With eight richly described parameters and an output schema present, the description does not need to enumerate return fields. It supplies enough domain context: actor rows, niche rows, demand signals, and intended usage patterns like search and monthly snapshots.

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?

The input schema has 100% description coverage with rich parameter explanations, examples, and defaults, so the description does not need to repeat parameter semantics. The description adds useful output-shape context, but it does not meaningfully explain individual parameters beyond what the schema already provides.

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 clearly states that this tool calls the specific Actor 'perchpermits/apify-store-trends' and retrieves its output, then summarizes what the Actor reports: store niches, actor rows, niche rows, and A-G flags. It is specific enough to distinguish from generic run/dataset tools, though it does not explicitly name a sibling alternative.

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

Usage Guidelines4/5

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

The description explicitly gives two usage contexts: searching a niche in seconds or running a monthly catalog snapshot. This is clear guidance for when to invoke the tool, though it does not explicitly state when not to use it or name alternative sibling tools.

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.