Svi članci
Kako sam scrapao 1.000 kontakata u sat vremena
Moji Blogovi

Kako sam scrapao 1.000 kontakata u sat vremena

Detaljan how-to: Apollo.io + n8n + Supabase pipeline za B2B lead generation. 1.034 kontakta za 67 minuta, s korak-po-korak setup-om, GDPR napomenama i stvarnim rezultatima iz kampanje.

11 min čitanja

Case study: 1.034 B2B kontakta za 67 minuta. Apollo.io + n8n + Supabase stack, €10.200+ prihoda iz prve kampanje. Evo kako je izgledao proces, što je radilo, što nije, i koje pravilo drži 90% spam filtera po strani.

Sažetak

  • Klijent: htio je listu founder-a i head of growth ljudi u SaaS i e-commerce firmama, 11-200 zaposlenih, EU regija
  • Alati: Apollo.io (data), n8n (orchestration), Supabase (dedupe + storage)
  • Rezultat: 1.034 kontakta, 12% bounce, 23 zakazana sastanka, 4 nova klijenta, €10.200+ prihoda u 6 mjeseci
  • Trajanje tech dijela: 67 minuta od kickoff-a do CSV-a spremnog za import
  • Najvažnija lekcija: nije scraping. Nego data licensing. Ekonomija je presjekla u korist legitimnih izvora.

2026. nije 2023.

Prije tri godine isti projekt bi se radio scrapanjem LinkedIn-a preko Phantombuster-a ili custom Puppeteer skripta.

Danas ne.

Evo zašto.

LinkedIn je 2024. dobio precedent u Court of Appeal (hiQ Labs v. LinkedIn) koji znatno sužava što se smije raditi automatski. Account ban stiže u danima, ne tjednima. Microsoft aktivno progoni scrapere.

Cloudflare Bot Management, PerimeterX, Imperva — ML modeli koji u realnom vremenu detektiraju automated traffic. Puppeteer s rotating proxies više nije dovoljan.

[Apollo.io](https://www.apollo.io) u međuvremenu ima 275 milijuna B2B profila. Opt-in legal basis — svaki kontakt je pristao na data sharing. €49/mj za 3.000 credits.

Shvaćaš li što to znači?

Za €20-30 credit cost dobiješ 1.000 legitimnih kontakata. Bez bana, bez proxy hell-a, bez Microsoft pravnika koji te čekaju iza ugla.

**Princip:** nije scraping. Nego data licensing. Jeftinije. Brže. Legalno.

Klijent i brief

Klijent je trebao 1.034 kvalificirana B2B kontakta za outreach.

Brief u jednoj rečenici:

*"Ivane, hoću listu founder-a i head of growth ljudi u SaaS i e-commerce firmama 11 do 200 zaposlenih, u EU. Bez agencija, bez freelancera, bez enterprisea."*

Ručno bi to bilo 80 sati rada. Dva tjedna jednog čovika.

Radili smo 67 minuta.

ICP je 80% igre

Prije nego sam otvorio Apollo, sjeli smo 15 minuta i definirali ICP i anti-ICP.

U listi:

  • SaaS, e-commerce, profesionalne usluge
  • 11-200 zaposlenih
  • EU primarno, US sekundarno
  • Role: founder, CEO, head of growth, head of marketing

Van liste:

  • Freelanceri i solo consultancies (nema budžeta)
  • Enterprise 500+ (sales ciklus 6+ mjeseci, outreach ne radi)
  • Regulated industries (healthcare, banking — compliance friction)
  • LinkedIn profili mlađi od 2 godine (fake account signal)

Zašto trošiš vrijeme pišući tu anti-listu?

Jer bez jasnog ICP-a, reply rate pada 3-5×. Bolje 500 precizno targetiranih nego 5.000 generičkih.

Ova jedna odluka radi 80% razlike između uspješne i promašene kampanje. Sve ostalo — alat, template, slanje — je izvršenje.

Tool stack — zašto ova tri

Apollo.io. 275M profila, Search API s 40+ filter polja, bulk enrichment. Razmatrao sam Clay.com (skuplji, overkill), Hunter.io (samo email finder), Phantombuster (LinkedIn integracija — skip).

[n8n](https://n8n.io). Self-hosted orchestration. 400+ integracija, visual editor, JavaScript node za custom logiku. €6/mj Hetzner VPS. Alternativa je Make.com — dobar, ali naplaćuje po operaciji. Za batch od 1.000+ recorda brzo postaje skupo.

Supabase. PostgreSQL-as-a-service. Dvije funkcije: dedupe (unique index na email + company_name) i long-term baza svih kontakata za exclusion liste.

**Princip:** stack slijedi problem, ne obrnuto. Nisam odabrao Apollo jer je "najnoviji alat". Odabrao sam ga jer rješava točan problem ovog klijenta.

Proces u 6 koraka

1. Setup — 5 min. Apollo API token, n8n HTTP Header Auth credential, test request → 200 OK.

2. Filter query — 10 min. Apollo Search API s JSON body-jem: person_titles, organization_industry_keywords, employee ranges, location. 100 profila po pozivu.

3. Batch pagination — 30 min. n8n Loop node kroz 10 stranica. Wait 500ms između poziva zbog rate limita. Svaki response normaliziran u flat JSON.

4. Enrichment — 15 min. Apollo `people/match` endpoint dohvaća telefon, company summary, LinkedIn activity score. Batch 50 profila.

5. Dedupe + upsert — 10 min. Svaki kontakt prije inserta prolazi query `SELECT id FROM contacts WHERE email = $1 OR (company_name = $2 AND full_name = $3)`. Match → skip. Ne → insert.

6. CSV export — 2 min. Flatten JSON u CSV. Upload u [Instantly.ai](https://instantly.ai).

Ukupno 67 minuta od kickoff-a. CSV u ruci. Spremno za slanje.

GDPR — ono što 90% ljudi preskače

Tri razine:

Zeleno. Apollo, ZoomInfo, Clearbit. Opt-in baze. Legal basis: legitimate interest (GDPR Art. 6(1)(f)). Uvjet: privacy notice u prvom outreach mailu + jasan opt-out link.

Žuto. Scraping javnih profila (poslovni registri, Google Maps, Crunchbase). Technically legal za B2B company data. Problematičnije za osobe (imena + email-ovi). Koristim samo za company-level podatke, ne za pojedince.

Crveno. LinkedIn scraping, Facebook/Instagram, Google dork email discovery. Ban. GDPR prijave. Spam reputation damage.

HR specifično: AZOP je zadnje dvije godine pojačao investigations za cold outreach bez legal basis-a. Privacy policy link u svakom mailu + opt-out u prvom paragrafu = siguran.

Širi compliance okvir — u [pillar postu o AI automatizaciji za male firme](/hr/blog/ai-automatizacija-za-male-firme).

Rezultati — 60 dana poslije

  • 1.034 kontakta u finalnom CSV-u
  • 12% bounce rate (normal: 8-15%)
  • 908 valid email adresa nakon delivery-ja
  • Open rate 41% (industry: 25-35%)
  • Reply rate 6.8% (industry: 3-5%)
  • 23 zakazana sastanka
  • 4 nova klijenta
  • €10.200+ prihoda u prvih 6 mjeseci

Što je radilo: personalizacija na razini prvog paragrafa — LinkedIn summary firme → 1 custom rečenica. Najveći lift na reply rate-u.

CTA "15-min poziv" bolji od "30-min demo". 2× više bookings.

Što nije radilo: direktan ask u prvom mailu ("Jesi li dostupan za poziv?") — 0% reply rate. Radi tek poslije 2-3 value-add poruke.

Slanje petkom ili nedjeljom — 60% niži open rate. Uvijek.

Tri najčešće greške

1. Slanje bez ICP filtera. "Šalji svima" mentalitet. Svaki off-ICP kontakt smanjuje domain reputation. 100 off-ICP mailova = +15% bounce na sve sljedeće kampanje.

2. Zanemarivanje dedupe-a. Slanje istoj osobi 2× u 6 mjeseci = spam complaint + Gmail/Outlook suppression. Svaki production pipeline treba dedupe layer. Bez iznimke.

3. Jedan sequence za sve. Founder nije marketing director nije CFO. Svaki segment ima drugi pain point. Minimum 3 varijante, personalized po ulozi.

Self-service ili turnkey

Ako si tech-comfortable:

  • Apollo Basic €49/mj (3K credits)
  • n8n self-host €6/mj (Hetzner VPS)
  • Supabase Free tier €0
  • Instantly.ai Growth €97/mj (5K emails/mj)
  • €152/mj + 8-12 sati setup-a prvi put

Ako ne — Fraviz implementira:

  • Growth paket €1.500 jednokratno: setup + testing + dokumentacija + 30-day support
  • Alate plaćaš direktno (~€150/mj ongoing)
  • Prvi rezultati za 2 tjedna od kickoff-a

Matematika je ista. Ako kampanja donese 1-2 nova klijenta vrijedna €3K+, cijeli setup otplati se u prvom mjesecu.

Advisor strategiju kroz koju sam prolazio za dizajn promptova u ovom pipelineu — detaljno u [postu o Claude Advisor approachu](/hr/blog/advisor-strategija).


Hoćeš da pogledamo tvoj ICP?

Ako razmišljaš o B2B outreach-u ili već imaš listu koja ne donosi rezultate — javi se kroz formu ispod ili rezerviraj [15-min poziv](https://cal.com/fraviz/15min).

Pogledat ću tvoj ICP, branšu, tržište. Javim ti pošteno: je li scraping prava igra za tebe ili ne. Bez sales skripte, bez obveze.

Odgovaram unutar 24 sata radnim danom.

Često postavljana pitanja

Je li web scraping legalan u Hrvatskoj i EU?

Ovisi o izvoru. Javno dostupni podaci (poslovni registri, Google Maps, Crunchbase) imaju sivu zonu — postoje precedenti u oba smjera. Sigurniji put su B2B data provideri poput Apollo-a koji imaju legitimni pravni osnov (opt-in baza + GDPR compliance). LinkedIn scraping NE — krši Terms of Service i postoji Court of Appeal precedent (hiQ Labs v. LinkedIn, 2024).

Koliko košta Apollo.io za ovakav use case?

Besplatan plan do 100 credita mjesečno, dovoljno za test. Paid planovi od €49/mj za 3.000 credita (1 credit = 1 kontakt export). Za jedan batch od 1.000 kontakata računaj €20-30 credit cost. Dodatni troškovi pipeline-a: n8n self-host €6/mj, Supabase Free tier €0, Instantly.ai €97/mj za delivery.

Mogu li isti workflow koristiti za LinkedIn scraping?

Tehnički da (kroz Phantombuster ili custom Puppeteer), ali LinkedIn Terms of Service to izričito zabranjuju i Microsoft aktivno progoni scrapere. Account ban stiže u danima. Preporučujem Apollo ili LinkedIn Sales Navigator (legitimni API) — iste podatke dobijaš legalno.

Što s email deliverability-jem nakon ovakvog outreacha?

Warm-up domene 2 tjedna prije outreacha je ključan. Koristi SPF + DKIM + DMARC. Šalji 30-50 emailova/dan po mailboxu (ne 500). Alat: Instantly.ai ili Lemlist (imaju built-in warm-up pool-ove). Bounce rate ispod 15% je zdravo, preko 20% = domain reputation damage.

Koliko brzo od "ideje" do prve konverzije?

Tech setup 1-2 dana. Warm-up domene + prva outreach kampanja kreće 2. tjedan. Prvi reply obično 3-7 dana nakon slanja. Prva konverzija (poziv → prijedlog → klijent) realno 3-8 tjedana od prve objave. U ovom projektu 4 klijenta su došla u razdoblju od 60 dana do 4 mjeseca nakon slanja.

Trebate pomoć oko implementacije?

Zakažite besplatni konzultacijski poziv i razgovarajmo o tome kako najbolje primijeniti automatizacije u vašem poslovanju.

Pošaljite upit