Overview
ScrapeCreators provides:- Profile data (handle, followers, bio)
- Post/video lists
- Engagement metrics
- Media URLs
Cost model
ScrapeCreators bills per request:Facebook billing
Facebook charges per-post (not per-profile):- Each post = 1 request
- High-volume creators = higher cost
Sync schedule
Nightly sync
- Time: 10pm ET daily
- Scope: Full roster (~1,149 accounts)
- Job:
Metrics::SyncJob
Manual sync
Individual accounts can be synced manually:- 24-hour throttle per account
- Prevents excessive API usage
Configuration
Environment variables
Both
SCRAPE_CREATORS_API_KEY vars hold the same key since July 2026. The old primary key was retired.API client
File:app/services/integrations/scrape_creators_client.rb
Methods
Sync flow
Health monitoring
SyncWatchdogJob
Runs every 15 minutes:- Checks for stuck syncs
- Monitors completion rates
- Alerts on failures
CreditsAlert
Monitors API credit balance:- Alerts when credits low
- Re-arms on recovery
- Pings Rafael + Brandon
Slack reporting
Metrics::SyncSlackReporter posts to Slack:
- Sync start notification
- Completion summary
- Error counts
Error handling
Transient errors
- Network timeouts: Auto-retry
- Rate limits: Backoff and retry
- API errors: Log and continue
Persistent errors
- Account banned: Mark
sync_failed - Invalid handle: Mark
sync_failed - Auth issues: Require re-auth
Kill switch
Emergency pause all syncs:- API outage detected
- Cost overrun risk
- Data quality issues
Troubleshooting
Common issues
Debug sync
Backend implementation
Key files:app/services/integrations/scrape_creators_client.rbapp/jobs/metrics/sync_job.rbapp/services/metrics/sync_slack_reporter.rbapp/services/metrics/credits_alert.rb