ApifyForge Quality Monitor

Audit every Apify actor in your account in one run

ApifyForge Quality Monitor scores every actor in your account on 8 quality dimensions, emits four routable qualityGates (storeReady, agentReady, monetizationReady, schemaReady), and returns fixSequence[] — a ranked list of the top 3 repair steps per actor, with expected point lift and time-to-fix on each. Results sorted worst-first so you can start fixing in the first 30 seconds. $0.15 per actor audited.

Fleet of 5 actors or 500 — one run, one dataset, one sorted fix queue. Scheduled weekly with webhook alerts, Quality Monitor catches silent quality bleed between builds before customers do.

Sign in to use
$0.15/actor audited

What ApifyForge Quality Monitor checks

8-dimension scoring

Reliability, documentation, pricing, schema & structure, SEO & discoverability, trustworthiness, ease of use, and agentic readiness — eight weighted dimensions combined into a 0–100 quality score and a letter grade (A–F).

qualityGates for automation

Four booleans agents and CI can branch on: storeReady (safe to publish), agentReady (LLM-friendly contract), monetizationReady (pricing + description complete), schemaReady (input + dataset schemas declared).

fixSequence[] ranked repairs

Per-actor top-3 fix list with expectedLift (score points gained) and timeToFix (minutes). Following fixSequence[0], [1], [2] typically lifts an actor by 20–40 points in under an hour.

Regression detection

Stores scores per actor in a per-actor Quality Profile (AQP). Each run computes delta.dimensionDeltas — per-dimension changes since last run. Flags drops of 10+ points as regressions.

Worst-first sort

Dataset is sorted ascending by quality score — the actor most in need of attention sits at item 0. Open the lowest-scoring actor and follow fixSequence. That's the 30-second triage loop.

KV summary + history

Each run writes a summary record to the default KV store (totals, median score, regressions count) and appends to history for trend comparison. Webhook on regression > 0 for live alerts.

agentContract (agent-native)

Every record carries agentContract.recommendedAction — act_now / monitor / ignore — the universal suite field, named identically on every backend actor so one branch works regardless of which ran. For Quality Monitor: any actor not storeReady → act_now; any other gate failing or a threshold alert → monitor; all gates clean → ignore.

dimensionInsights + scoringTrace

dimensionInsights gives the root cause behind every low-scoring dimension (cause + pattern + impact) so you fix the source, not the symptom. scoringTrace is the fully auditable per-check pass/fail breakdown with the points each check moved — the score is inspectable, not asserted.

confidence (trust for automation)

A trust rollup (overall + topIssue + lowestConfidenceDimension) telling an agent how much to trust the analysis. confidence.overall === 'low' → flag for human review instead of auto-applying fixes; confidence.rationale explains why.

deprecationRisk

Detects actors silently dying — abandonment cues, staleness, and decay signals rolled into a risk level. Medium/high means audit the signals[] for archival rather than attempting fixes.

Routable regression types

thresholdAlerts classify each regression by regressionType — monetization_break, visibility_loss, configuration_drift, reliability_decay, staleness_decay — so automation routes each to the right workflow (pricing, SEO, schema/docs, runtime, rebuild) instead of one generic alert.

Actor quality audit methods compared

MethodFleet coveragePrioritized fix listCost for 50 actors
ApifyForge Quality MonitorEntire account, one runfixSequence[] per actor with lift$7.50
Manual Console reviewOne actor at a timeWhatever you spot5–15 hours engineering
Apify Store health indicatorsPer-actor green/yellow/redNone — status onlyFree
Custom audit scriptWhatever you buildWhatever you build1–3 days engineering + ongoing maintenance

Example ApifyForge Quality Monitor output

{
  "actorName": "ryanclinton/my-scraper",
  "score": 58,
  "qualityGates": {
    "storeReady": false,
    "agentReady": false,
    "monetizationReady": true,
    "schemaReady": false
  },
  "fixSequence": [
    { "priority": 1, "step": "Add dataset_schema.json", "expectedLift": 18, "timeToFix": 15 },
    { "priority": 2, "step": "Document enum fields in input_schema.json", "expectedLift": 12, "timeToFix": 25 },
    { "priority": 3, "step": "Add Responsible-use section to README", "expectedLift": 8, "timeToFix": 10 }
  ],
  "delta": {
    "dimensionDeltas": { "schemaCompleteness": -15, "agenticReadiness": 0 },
    "regressionDetected": true
  }
}

Follow fixSequence[0], [1], [2] — re-run — watch the rebound in delta.dimensionDeltas.

How ApifyForge Quality Monitor works

1

Run the actor — no input required when on Apify; your token is auto-injected

2

Quality Monitor scores every actor on 8 dimensions and compares against the previous run

3

Dataset sorted worst-first — open actor 0, follow fixSequence, re-run, watch the delta rebound

Limitations

  • 1.Metadata-based scoring. Quality Monitor scores declared schemas, README, descriptions, and public run metadata — not the actor's source code. Runtime behavior is scored indirectly via success rate and duration signals.
  • 2.Not a runtime tester. Quality Monitor does not execute the target actors. For runtime regression testing use Deploy Guard; for output validation use Output Guard.
  • 3.History requires scheduled runs. Regression detection compares against the previous audit — if you've never scheduled it, the first run has no baseline. Schedule weekly for meaningful deltas.
  • 4.No Store-wide benchmarking. Quality Monitor scores your own account, not third-party actors across the Store. For third-party actor risk, see Compliance Scanner.
  • 5.Requires Apify token with read access. Restricted tokens can score actors they can read, but can't write to the per-actor Quality Profile — you lose history tracking until the token is upgraded.

What ApifyForge Quality Monitor costs

$0.15 per actor audited, charged as pay-per-event on your own Apify account. Fleet of 10 = $1.50 per run. Fleet of 50 = $7.50. Fleet of 200 = $30. Scheduled weekly, that's $6/month for a 10-actor fleet or $120/month for a 200-actor fleet — typically an order of magnitude cheaper than the first quality-related customer complaint you avoid.

Frequently asked questions

What does ApifyForge Quality Monitor score?

Each actor is scored on 8 weighted quality dimensions: reliability, documentation, pricing, schema & structure, SEO & discoverability, trustworthiness, ease of use, and agentic readiness (typed contract, stable enums, categories, changelog). The weighted scores are combined into a 0–100 quality score and a letter grade (A–F), plus four boolean qualityGates (storeReady, agentReady, monetizationReady, schemaReady) derived from them.

What is fixSequence[] and how do I use it?

fixSequence[] is a ranked list of the top 3 repair steps for each actor, ordered by expected point lift. Each entry carries expectedLift (how many quality-score points you gain), timeToFix (rough minutes), and step-by-step fix instructions. Working through fixSequence[0], [1], [2] typically lifts an actor by 20–40 points and flips one or more qualityGates to true. This is the fastest path to improving any single actor.

How does regression detection work?

Quality Monitor stores every run's scores in a per-actor quality profile (AQP). On each run, it computes delta.dimensionDeltas — per-dimension score change since the previous run. If any dimension drops more than 10 points, it flags a regression. This catches silent quality bleed — an actor that was storeReady last week but isn't anymore — before it affects customers.

What happens if my actor has no input_schema.json?

Quality Monitor flags schemaReady: false and drops the schema completeness dimension to 0. The other dimensions still score. A missing input schema is one of the top-three most common score hits — adding even a minimal schema typically lifts an actor by 15 points.

Can I run Quality Monitor on actors I don't own?

Yes — Quality Monitor reads public actor metadata (name, description, categories, input/dataset schemas, README) to compute scores. It does not need access to the actor's source code or runtime logs. Scoring third-party actors is useful when picking between Store alternatives before committing to one.

How often should I run it?

Weekly is a good cadence for active fleets. Schedule it via Apify to run every Monday morning; webhook on regressions where any dimension drops more than 10 points. Daily is overkill unless you're shipping multiple builds per day — most dimensions don't move that fast.

Can an AI agent consume the output directly?

Yes. Every record carries agentContract.recommendedAction — act_now / monitor / ignore — the universal field named identically across the whole backend suite, so one branch works regardless of which actor ran. Beyond that, qualityGates are booleans agents branch on, fixSequence[] steps carry implementationHints[] for execution, and confidence.overall tells the agent when to defer to a human (low → review, don't auto-apply). dimensionInsights gives the root cause and scoringTrace is the auditable per-check breakdown, so the recommendation is inspectable rather than a black box.

How do I route regressions automatically?

Each entry in thresholdAlerts[] is classified by regressionType, so you route by type instead of triaging a generic alert: monetization_break → your pricing workflow, visibility_loss → SEO workflow, configuration_drift → schema/docs workflow, reliability_decay → runtime investigation, staleness_decay → rebuild. Alerts fire only on crossings (grade dropped, score below threshold, dimension regressed past the drop threshold) — static low scores on repeat runs do not re-alert.