{
  "id": 3041753,
  "title": "Our build wave shipped four scrapers that scraped nothing",
  "url": "https://urgent.news/2026/08/24/our-build-wave-shipped-four-scrapers-that-scraped-nothing",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-24T14:35:49.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/devil_scrapes/our-build-wave-shipped-four-scrapers-that-scraped-nothing-1g67"
  },
  "original_language": "en",
  "account": "In a recent incident, four scrapers were built and shipped, but none of them actually scraped any data. The failure was due to a scaffold stub being used instead of a real implementation. The test suite and linters were clean, and schema gates passed, leading to a false sense of security. The issue was only caught when the dataset schema rejected a row shape, which was a check added for a different reason. The scraper had shipped to production, taking real customer runs, but its entry point indicated it was a placeholder-only run. This scraper had eleven customer runs, all recorded as succeeded, while the actively triaged scrapers had much lower success rates. The rebuild focused on proper wire format confirmation, using fixtures from real responses, and driving the row contract by the schema. Two defects were found that would not have been caught by fixtures alone. The final scraper, Cameo Talent Listings Scraper, searches Cameo's talent marketplace and returns structured rows with various details.",
  "summary": "Our build wave finished four scrapers in a day. Every test was green. Not one of them scraped anything. This is what that failure actually looked like, and why every gate we had said the opposite. The tell was a cloud run, not a test The first of the four went to the platform, built cleanly, and died on its smoke run: apify_client . errors . ApifyApiError : Schema validation failed File \"…",
  "key_points": [
    "Four scrapers built and shipped without actual scraping functionality",
    "Failure due to scaffold stub used instead of real implementation",
    "Eleven customer runs recorded as succeeded despite being placeholder runs"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}