--- name: local-business-reputation-research description: Researches public local-business profiles, ratings, reviews, complaints, Scam Tracker patterns, menus, and photos across Yelp, BBB, Trustpilot, and OpenTable using the Crawlora API. Use for vendor due diligence, reputation comparisons, or bounded scam-report pattern briefs, with evidence and source boundaries kept explicit. --- # Local business reputation research Build an evidence-backed public reputation brief for a business or venue. Use Yelp, BBB, Trustpilot, and OpenTable as distinct sources and keep profile data, reviews, complaints, scam reports, menus, and photos separate. ## When to use this skill - Compare local businesses or restaurants before hiring or visiting. - Find a business profile, service area, rating history, or public complaints. - Review recent customer themes and representative excerpts. - Check public BBB scam reports or OpenTable restaurant details and menus. - Summarize a bounded BBB Scam Tracker window by region or scam type without treating reported incidents as verified facts. ## Research workflow 1. Resolve the business on each platform with its own search endpoint. Match by name, address, phone, domain, and service area; never merge on name alone. 2. Pull profile and review data from Yelp, BBB, or Trustpilot. Keep each site's rating scale, review count, date range, moderation labels, and sampling rules. 3. Use BBB complaints and Scam Tracker as reported records, not proof of legal wrongdoing. Use Trustpilot and Yelp reviews as platform-specific samples. 4. Use OpenTable for restaurant discovery, menu, and review context. Separate reservation metadata and menu availability from reputation evidence. 5. Report corroborated facts, conflicting records, unresolved identity matches, and a small set of linked excerpts. Do not infer fraud, safety, or service quality from a single review or rating alone. ## BBB Scam Tracker pattern briefs Use this mode for a broad regional or time-bounded scam question rather than a single named business: 1. Start with `bbb_scamtracker_state_stats` using one of its fixed windows (`30`, `90`, `365`, or `all`). Record the returned period and `aggregated_at`; keep report counts, reported losses, median loss, per-capita rates, year-over-year change, and scam-type breakdowns as BBB's own aggregate measures. 2. If the question needs examples, use `bbb_scamtracker_search` with a bounded date range and only the location/category filters needed. `date_from` and `date_to` must be supplied together. `state` refers to the targeted victim's state; `scammer_state` is the reported scammer location. Loss bounds must also be paired. Results are ten per page, so set a modest page cap and record the filters and pages actually reviewed. 3. Preserve `total_results_lower_bound` when present. BBB's result cap means that a displayed total may be a lower bound, not a complete incident count. A filtered search with no returned reports describes that query sample; it does not show that no scams occurred. 4. Fetch `bbb_scamtracker_detail` only for selected reports that materially support the question. Deduplicate by report ID and keep the report date, search window, and aggregate window distinct. Present the state/province aggregates separately from the sampled reports. Don't calculate a report rate from a sample, compare unlike time windows, or describe report allegations as confirmed fraud. The public heatmap and these reported records can reflect reporting and moderation differences as well as underlying incidents. Avoid repeating victims' personal contact details or precise locations from report narratives. ## Examples ```sh scripts/crawlora.sh /yelp/search term="plumber" location="Austin, TX" | jq '.' scripts/crawlora.sh /bbb/search query="Acme Plumbing" location="Austin, TX" | jq '.' scripts/crawlora.sh /trustpilot/business-units/search q="example.com" | jq '.' scripts/crawlora.sh /opentable/search query="Italian Austin" | jq '.' scripts/crawlora.sh /bbb/scamtracker/state-stats period=90 scripts/crawlora.sh /bbb/scamtracker/search state="TX" scam_type="Online Purchase" date_from="2026-07-01" date_to="2026-09-30" page=1 ``` ## Notes and limits - Public pages only; no private customer records, account access, booking, payment, or review submission occurs. - Ratings and complaints are platform-reported and may be incomplete, moderated, duplicated, or attached to a different branch. - Preserve collection time, source URL or ID, business address, and platform when presenting a reputation comparison. - Avoid identifying private individuals from review text; quote only what is needed to support the business-level finding. See [`reference/endpoints.md`](reference/endpoints.md) for the complete generated endpoint list.