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.
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