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.
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).
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).
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.
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.
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.
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.
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 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.
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.
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.
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.
| Method | Fleet coverage | Prioritized fix list | Cost for 50 actors |
|---|---|---|---|
| ApifyForge Quality Monitor | Entire account, one run | fixSequence[] per actor with lift | $7.50 |
| Manual Console review | One actor at a time | Whatever you spot | 5–15 hours engineering |
| Apify Store health indicators | Per-actor green/yellow/red | None — status only | Free |
| Custom audit script | Whatever you build | Whatever you build | 1–3 days engineering + ongoing maintenance |
{
"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.
Run the actor — no input required when on Apify; your token is auto-injected
Quality Monitor scores every actor on 8 dimensions and compares against the previous run
Dataset sorted worst-first — open actor 0, follow fixSequence, re-run, watch the delta rebound
$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.
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.
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.
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.
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.
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.
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.
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.
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.