Auto Repair Review Signals
Pricing
from $10.00 / 1,000 analyzed shops
Auto Repair Review Signals
Detect repair-specific CX pain, trend changes, and sales opportunities from supplied reviews.
Pricing
from $10.00 / 1,000 analyzed shops
Rating
0.0
(0)
Developer
Ryan Carter
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Classify supplied repair-shop reviews into service themes and experience signals.
Bring reviews from a source you are entitled to use. This Actor analyzes supplied reviews; it does not scrape review platforms.
Quick start
Paste this input into the Actor, or save it as input.json for the API example. Inline records with example.com URLs are fictional demonstration data. Form prefill values are examples, not defaults for empty API requests.
{"places": [{"shopId": "demo-1","shopName": "Example Auto Repair","website": "https://example.com","reviews": [{"text": "They never called with an update and the estimate changed.","rating": 2,"publishedAt": "2026-07-20"},{"text": "Honest shop and great communication.","rating": 5,"publishedAt": "2026-03-10"}]}],"recentWindowDays": 90,"baselineWindowDays": 365,"minReviews": 1,"includeEvidence": true}
Input and output
The Input tab documents every supported option and default. Supply places or a compatible sourceDatasetId. A run supports at most 10,000 supplied records. Split larger inputs into separate runs.
Usable reviews need nonblank text and a numeric rating from 1 through 5. Invalid reviews are excluded; shops below minReviews receive a diagnostic without a shop-analysis charge. Topic mentions alone do not establish a complaint: communication, estimate, and warranty themes require complaint wording. Classification uses phrase rules and ratings, so inspect mixed or ambiguous language before using it for outreach.
Complaint themes only use ratings of 1–3. High-star reviews containing complaints, sarcasm, attribution to another shop, and unusual wording can be missed. unclassifiedNegativeReviewCount counts low-rated reviews without a recognized complaint theme; inspect those reviews even when complaintThemes is empty. requiresHumanReview and interpretationNotes travel with exported results.
Returns shared signal envelopes: entityId, entityType, signalType, severity, confidence, observedAt, sourceUrl, evidence, and Actor-specific payload. Compatible envelopes are unwrapped on input; payload fields must still match this Actor’s expected input. A common envelope does not join or enrich separate observations automatically.
Complaint trends require at least three dated reviews in both the recent period and the older baseline period. Otherwise the trend is insufficient_data; missing period shares and the trend difference are null. Sample counts are included for review. Future-dated reviews do not count as recent. This minimum is a data-availability check, not a statistical significance test.
Confidence is a heuristic evidence/completeness indicator, not a calibrated probability. Inspect evidence and missing inputs before acting. Dataset exports support JSON and CSV; nested fields are available through the dataset API.
Pricing and spending limits
Pay per event, with platform usage included. The Apify Store pricing panel shows the current prices.
- $0.01 per analyzed shop. One shop's supplied reviews analyzed into service and customer-experience signals. No review collection is included.
- Startup: $0.005 per GB of allocated memory, with a minimum of one startup event. The default memory allocation is 1 GB or less.
Diagnostics and included extra signals have no output-event charge; the startup charge still applies. Set the maximum run cost to control spending. If the remaining budget cannot cover the next event, the Actor stops and returns the results already completed. Check the run summary before assuming the entire input was processed. Fees from a separate upstream scraper are not included.
Errors and repeat runs
Malformed or empty required input fails with an actionable error. Unsupported or insufficient records can produce free diagnostic signals or rejection counts in OUTPUT. Check the run status, summary, diagnostics, and billing record together; zero results does not establish that no opportunities or problems exist.
The Actor does not schedule itself. Create an Apify task and schedule after checking the initial output.
Run it from the API
Start asynchronously to avoid request timeouts on larger inputs. Use the returned run ID to wait for completion, then download its dataset.
curl --request POST 'https://api.apify.com/v2/acts/repairiq~auto-repair-review-signals/runs' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data-binary @input.json
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const input = JSON.parse(await (await import('node:fs/promises')).readFile('input.json', 'utf8'));const run = await client.actor('repairiq/auto-repair-review-signals').call(input);if (run.status !== 'SUCCEEDED') throw new Error('Run failed; inspect its log before using partial results.');const dataset = client.dataset(run.defaultDatasetId);for (let offset = 0; ; ) {const { items } = await dataset.listItems({ offset, limit: 1000 });for (const item of items) console.log(item);if (items.length < 1000) break;offset += items.length;}
Limitations and support
Bring reviews from a source you are entitled to use. This Actor analyzes supplied reviews; it does not scrape review platforms.
Use data you have permission to process, and respect source restrictions. No affiliation with the named software vendors, marketplaces, or agencies is implied. Report reproducible problems through the Actor Issues tab with a run ID and a minimal input; omit credentials and private customer data.
Local development
Requires Node.js 22 or newer. Run npm ci, npm run build, and npm test from this Actor directory. Put local input in storage/key_value_stores/default/INPUT.json, then run npm start. The repository root’s npm run verify also checks schemas, shared copies and real entry-point smoke scenarios.