<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marcos Faccin da Silva</title>
    <description>The latest articles on DEV Community by Marcos Faccin da Silva (@marcos_faccindasilva_c3).</description>
    <link>https://dev.to/marcos_faccindasilva_c3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3192324%2F4b55fc16-4bc8-46c0-808c-9cb8860cf8d0.png</url>
      <title>DEV Community: Marcos Faccin da Silva</title>
      <link>https://dev.to/marcos_faccindasilva_c3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marcos_faccindasilva_c3"/>
    <language>en</language>
    <item>
      <title>Scraping 150k+ Instagram followers reliably: batching, resume-on-error, and enrichment</title>
      <dc:creator>Marcos Faccin da Silva</dc:creator>
      <pubDate>Sun, 06 Sep 2026 00:20:26 +0000</pubDate>
      <link>https://dev.to/marcos_faccindasilva_c3/scraping-150k-instagram-followers-reliably-batching-resume-on-error-and-enrichment-3d3i</link>
      <guid>https://dev.to/marcos_faccindasilva_c3/scraping-150k-instagram-followers-reliably-batching-resume-on-error-and-enrichment-3d3i</guid>
      <description>&lt;p&gt;I run a small AI/automation consultancy in Brazil, and a recent lead-research project needed the full follower list of a public Instagram profile — about 153,000 followers — plus enrichment (bio, public email/phone) to find business accounts worth contacting.&lt;/p&gt;

&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;Pulling a list that size is never one API call. Instagram reports ~153,628 followers; you get them page by page, and any long-running extraction WILL hit a failed request eventually. If your pipeline can't resume, you start over from zero — which is expensive and slow.&lt;/p&gt;

&lt;p&gt;What I built&lt;/p&gt;

&lt;p&gt;The pipeline runs on n8n with Supabase as the datastore:&lt;/p&gt;

&lt;p&gt;Batched extraction — followers are downloaded in batches of up to 10,000 per cycle, on a schedule, instead of one giant run.&lt;br&gt;
Resume on error — every page cursor and count is persisted. When a request fails mid-run (in one run it stopped at 4,782 followers after 96 pages read), the job logs the error, emails me a status report, and picks up from the same point on the next cycle instead of restarting.&lt;br&gt;
Enrichment pass — a second workflow walks the stored followers and pulls profile details, flagging commercial accounts and any public email/phone in the bio. Personal/private accounts return no contact data, which the report counts separately.&lt;br&gt;
Email reports — each cycle sends me a summary: profile, followers reported vs. downloaded, pages read, batch name, and the exact error if one occurred.&lt;/p&gt;

&lt;p&gt;For the Instagram data layer I used HikerAPI — I tested a few other options first, and it won on pricing and rate limits for this volume. It handled the pagination fine: the run above made 100+ requests without me managing sessions or proxies myself.&lt;/p&gt;

&lt;p&gt;Tradeoffs / what didn't go perfectly&lt;br&gt;
Long extractions still fail sometimes (timeouts); resume logic is not optional at this scale, whatever API you use.&lt;br&gt;
Early days for me on this stack: so far it has worked well, but I'm still collecting more data before I'd call the pipeline battle-tested. I'll know more after a few full 150k-follower cycles.&lt;br&gt;
Enrichment yield is modest: most personal/private accounts expose no public contact data, so plan conversion expectations accordingly.&lt;br&gt;
Takeaway&lt;/p&gt;

&lt;p&gt;Treat large social extractions as a resumable batch job, not a script: persist cursors, cap batch sizes, and report every cycle. The datastore + scheduler matter more than the scraping API itself.&lt;/p&gt;

&lt;p&gt;Disclosure: I'm part of HikerAPI's user-rewards program — they credit my account for posts like this. Sharing my actual experience.&lt;/p&gt;

</description>
      <category>webscraping</category>
      <category>automation</category>
      <category>api</category>
      <category>python</category>
    </item>
  </channel>
</rss>
