Skip to content

fix: replace broken web-scraper with jupri/indiehackers actor + fix SSL#1

Open
ianymu wants to merge 1 commit into
mainfrom
fix/indiehackers-apify-supabase
Open

fix: replace broken web-scraper with jupri/indiehackers actor + fix SSL#1
ianymu wants to merge 1 commit into
mainfrom
fix/indiehackers-apify-supabase

Conversation

@ianymu

@ianymu ianymu commented Feb 27, 2026

Copy link
Copy Markdown
Owner

Summary

Fix IndieHackers scraping pipeline that was broken due to Ember.js SPA rendering issues with apify/web-scraper.

Changes

scripts/apify_web.py

  • Replaced actor: apify/web-scraperjupri/indiehackers (Firestore-backed, 98K+ posts available, no SPA rendering needed)
  • Fixed env var whitespace: .strip() on all env vars (trailing \n in APIFY_API_KEY caused auth header rejection)
  • Updated field mapping: content field (was body), constructed source_url from post ID

scripts/supabase_lite.py

  • Fixed SSL: Added verify=False to httpx calls for sandbox environments where CA certs are unavailable

Why the old approach failed

IndieHackers is an Ember.js SPA backed by Firebase/Firestore. The apify/web-scraper with Puppeteer couldn't render post content — even after 15+ seconds of waiting, cookie dismissal, and scrolling, the DOM only contained nav elements and a cookie consent dialog. The jupri/indiehackers actor reads directly from the Firestore backend, bypassing SPA rendering entirely.

Test results

cycle_id: 8
total:      600
written:    591
duplicates:   9
errors:       0

This PR was generated with Oz.

- apify_web.py: Switch from apify/web-scraper (Ember.js SPA fails to render)
  to jupri/indiehackers actor (Firestore-backed, returns 98K+ posts)
- apify_web.py: Strip whitespace from env vars (trailing newline broke auth)
- apify_web.py: Map new actor fields (content, id) to pain_points schema
- supabase_lite.py: Disable SSL verification for sandbox environments

Tested: 600 posts scraped, 591 written to pain_points, 9 dupes skipped.

Co-Authored-By: Oz <oz-agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant