Scraper attempts, transparent
What the extractors actually did, last run.
Every scrape attempt against every tool is appended to a per-tool JSONL log. This page surfaces the most-recent event per tool with outcome, plans found, and any warnings the extractor flagged. Useful when /status says "manual-only" but the extractor is actually running and silently falling back to prior verified data.
Companion to /freshness (when data was last verified) and /status (persisted extractor state). Raw machine-readable feed: /api/scrape-runs.json.
- Tools tracked
- 37
- With attempts
- 0
- Last run: ok
- 0
- Stale-preserved
- 0
- Failures
- 0
All tools, most-recent attempt first
Tools that have never been attempted appear at the bottom. A scrape attempt records an event regardless of whether it produced a successful write; this is the audit trail of every cron and manual run.
- beehiiv Email marketingnever runno runs
- Buffer Social media managementnever runno runs
- Buttondown Email marketingnever runno runs
- Cal.com Schedulingnever runno runs
- Calendly Schedulingnever runno runs
- Close CRMnever runno runs
- Convert A/B testingnever runno runs
- Crisp Live chatnever runno runs
- Customer.io Marketing automationnever runno runs
- Demio Webinarnever runno runs
- Drip Email marketingnever runno runs
- Flodesk Email marketingnever runno runs
- Ghost Content marketingnever runno runs
- Help Scout Help desknever runno runs
- Hightouch Customer data platformnever runno runs
- Hunter Lead generationnever runno runs
- Intercom Live chatnever runno runs
- Kit Email marketingnever runno runs
- Leadpages Landing pagesnever runno runs
- Lemlist Sales engagementnever runno runs
- Mailchimp Email marketingnever runno runs
- MailerLite Email marketingnever runno runs
- Mailgun Transactional emailnever runno runs
- Mailtrap Deliverabilitynever runno runs
- Mixpanel Analyticsnever runno runs
- Omnisend Email marketingnever runno runs
- PostHog Analyticsnever runno runs
- Postmark Transactional emailnever runno runs
- Postscript SMS marketingnever runno runs
- Resend Transactional emailnever runno runs
- Substack Email marketingnever runno runs
- Surfer SEO SEOnever runno runs
- Tally Form buildersnever runno runs
- Triple Whale Marketing attributionnever runno runs
- Typeform Form buildersnever runno runs
- Unbounce Landing pagesnever runno runs
- Webflow Landing pagesnever runno runs
How to read this page
Each tool has a per-attempt JSONL log at
data/scrape-runs/<slug>.jsonl. Every event records
run timestamp, outcome, plans found, warnings, and error message on
failure. Six possible outcomes:
- ok
- Extractor succeeded, merge produced a confident write.
- stale-preserved
- Extractor ran but the merge layer judged the scraped price low confidence; prior verified data was preserved. Tool ends up with scraper_status=stale.
- extractor-threw
- Playwright crashed or the extractor raised. A screenshot is saved to data/scraped/ for diagnosis.
- validation-failed
- Merged data did not pass the canonical Zod schema. The most likely cause is an editorial field shape mismatch.
- no-extractor
- No module at scripts/scrape/extractors/<slug>.ts. Should never happen for a tool in the spine; if it does, see the dry-run gate.
- no-tool-json
- Extractor exists but no tool JSON stub. Run npm run seed first.