Suomessa rekisteröidään vuosittain kymmeniä tuhansia uusia yrityksiä. Jokainen niistä on potentiaalinen asiakas — yritys joka on juuri aloittanut, tarvitsee palveluja, ja jonka päättäjä on todennäköisesti erittäin vastaanottavainen oikeaan aikaan tulleelle viestille.

Ongelma on se, että näiden yritysten manuaalinen läpikäynti on hidasta ja työlästä. Tässä artikkelissa rakennan automaattisen liidigeneroinnin Make.comilla — järjestelmä, joka hakee uudet yritykset PRH:n avoimesta rajapinnasta ja etsii päättäjien yhteystiedot ilman manuaalista työtä.

Käyn läpi:

  • Miten PRH:n ilmainen rajapinta toimii ja mitä tietoja sieltä saa
  • Miten Make.com-automaatio rakennetaan moduuli moduulilta
  • Miksi tietyt arkkitehtuuriratkaisut on tehty niin kuin ne on tehty
  • Ja lopussa: miten tämän voi viedä ammattimaiselle tasolle

Miksi PRH:n avoin data on kultakaivos liidigeneroinnissa

Patentti- ja rekisterihallitus julkaisee yritystietojärjestelmänsä — YTJ:n — datan avoimena REST-rajapintana. Se tarkoittaa käytännössä sitä, että kuka tahansa voi ohjelmoida järjestelmän, joka hakee tietoja automaattisesti ilman erillistä sopimusta tai API-avainta.

100% Ilmainen — ei API-avainta, ei sopimuksia
100 % Virallinen data suoraan kaupparekisteristä
7 pv Hakuikkuna — löydät yritykset heti rekisteröinnin jälkeen

Rajapinnasta saa ulos muun muassa:

  • Y-tunnuksen ja yrityksen nimen
  • Rekisteröintipäivän ja yritysmuodon (OY, TMI, KY, AY…)
  • Kotipaikan ja postinumeron
  • Verkkosivuosoitteen, jos sellainen on ilmoitettu
  • Toimialaluokituksen

Skenaariorakenne kokonaisuutena

Ennen kuin mennään yksityiskohtiin, katsotaan kokonaiskuva. Make.com-skenaariossamme on kuusi moduulia:

Make.com-skenaario — 6 moduulia

01 HTTP PRH API Hae viikon uudet yritykset
02 JS JavaScript Siivoa ja normalisoi data
03 ITR Iterator Käy yritykset läpi yksi kerrallaan
04 DS Yritys-datastore Tallenna yritys (overwrite: false)
05 API Anymail Finder Etsi päättäjän sähköposti
06 DS Kontakti-datastore Tallenna jos sähköposti löytyi

Jokainen moduuli tekee yhden asian hyvin. Tämä on tärkeä periaate automaatioiden rakentamisessa — yksinkertaiset, ketjutetut palat ovat helpompia debugata ja ylläpitää kuin yksi monimutkainen kokonaisuus.


Moduuli 1 — HTTP-pyyntö PRH:n rajapintaan

Ensimmäinen moduuli tekee HTTP GET -pyynnön PRH:n avoimeen rajapintaan.

Endpoint
https://avoindata.prh.fi/opendata-ytj-api/v3/companies
Parametrit
registrationDateStart = formatDate(addDays(now; -7); "YYYY-MM-DD")
registrationDateEnd   = formatDate(now; "YYYY-MM-DD")
companyForm           = OY, KY, AY, TMI
maxResults            = 100

Rajapinta palauttaa maksimissaan 100 yritystä per pyyntö. Jos haluat hakea enemmän, rajapinta tukee sivutusta page-parametrilla — tällöin rakentaisit skenaarioon silmukan, joka käy sivut läpi kunnes tuloksia ei enää tule.


Moduuli 2 — JavaScript-koodi datan siivoamiseen

PRH:n vastaus on rakenteeltaan monimutkainen. Esimerkiksi yrityksen nimi ei tule suoraan name-kenttänä vaan names-taulukon ensimmäisenä alkiona. Sama pätee osoitetietoihin ja yritysmuodon kuvaukseen.

JavaScript-moduuli muuttaa tämän rakenteen yksinkertaisiksi, tasaisiksi objekteiksi:

Moduuli 2 — JavaScript
const companies = input.companies;

const records = companies.map(c => ({
  ytunnus:    c.businessId ? c.businessId.value : "",
  nimi:       c.names && c.names[0] ? c.names[0].name : "",
  rekpvm:     c.registrationDate || "",
  yhtiomuoto: c.companyForms?.[0]?.descriptions?.[0]?.description || "",
  kaupunki:   c.addresses?.[0]?.city || "",
  verkko:     c.website ? c.website.url || "" : "",
  haettu:     new Date().toISOString().split("T")[0],
  status:     "Uusi"
}));

return { records: records };

Moduuli 3 — Iterator

Iterator on Make.comin sisäänrakennettu moduuli, joka ottaa taulukon ja suorittaa kaikki seuraavat moduulit jokaiselle alkiolle erikseen. Syöte on yksinkertaisesti:

Iterator — syöte
{{2.result.records}}

Tämä on Make.comin vastaus ohjelmointikielten for-loopille. Ilman tätä kaikki seuraavat moduulit käsittelisivät koko taulukkoa kerralla — mikä ei onnistu datastoren tallennuksessa eikä Anymail Finderissa.


Moduuli 4 — Yrityksen tallennus datastoreen

Datastoressa yritykset tallennetaan avain-arvo-periaatteella. Avaimena käytän Y-tunnusta:

Datastore — avain
{{3.ytunnus}}

✗ Yrityksen nimi avaimena

Kaksi yritystä voi jakaa saman nimen. Nimi voi muuttua ajan myötä. Erityismerkit voivat aiheuttaa ongelmia. Tietokanta-avain ei ole enää yksilöllinen.

✓ Y-tunnus avaimena

Y-tunnus on Suomessa yritykselle yksilöllinen ja pysyvä tunniste — täsmälleen se mitä tietokanta-avaimelta vaaditaan. Ei duplikaatteja, ei konflikteja.

overwrite: false -asetus on kriittinen: emme halua ylikirjoittaa olemassa olevaa tietoa. Jos olet jo merkinnyt yrityksen “Kontaktoitu” tai lisännyt muistiinpanoja, uusi ajo ei saa pyyhkiä niitä. Duplikaattivirhe käsitellään Ignore-moduulilla — skenaario jatkaa normaalisti eikä kaadu.


Moduuli 5 — Sähköpostietsintä Anymail Finderilla

Tässä on skenaariomme kiinnostavin — ja samalla sen heikoin — lenkki.

Anymail Finder on palvelu, joka etsii yritysten päättäjien sähköpostiosoitteita domainin ja yrityksen nimen perusteella. Syötämme:

  • Domain: {{3.verkko}}
  • Yrityksen nimi: {{3.nimi}}
  • Rooli: CEO

Kun osuma löytyy, saamme takaisin sähköpostiosoitteen, koko nimen, tittelin ja LinkedIn-URL:n.


Moduuli 6 — Filtteri ja kontaktin tallennus

Ennen tallennusta on filtteri:

Filtteri — ehto
{{7.email}} is not empty

Ilman filtteröintiä tallentaisimme joka kerta tyhjän sähköpostikentän sisältäviä rivejä kontaktidatastoreen. Myyntilista täyttyisi epätäydellisistä tiedoista, jotka vain sotkevat myöhempää työtä.

Kontaktin avaimena käytetään:

Kontakti-datastore — avain
{{3.ytunnus}}_ceo

Tämä rakenne mahdollistaa myöhemmin useamman kontaktin tallentamisen samasta yrityksestä — esimerkiksi _cfo tai _hr — ilman konflikteja.


Ajastus ja automatisointi

Skenaario on asetettu ajamaan automaattisesti — Make.com hoitaa kaiken taustalla. Sinun ei tarvitse tehdä mitään. Uudet liidit kertyvät datastoreen automaattisesti.

Skenaarion lopputuloksena on kaksi datastoreä:

DatastoreSisältö
YrityksetKaikki löydetyt uudet yritykset perustietoineen
KontaktitPäättäjät, joille löytyi sähköposti

Tämä data on helposti vietävissä Google Sheetsiin, CRM-järjestelmään tai suoraan sähköpostityökaluun. Make.comissa se onnistuu lisäämällä yksi moduuli skenaarioon. Jos haluat ymmärtää, miten tekoälyhaut ja digitaalinen näkyvyys vaikuttavat liidiesi löydettävyyteen, lue AEO ja GEO 2026 -artikkelini.


Liidigenerointi ammattitasolla — näin skaalataan

Tämä pohja toimii ja tuottaa liidejä. Mutta jos haluat maksimoida tulokset, kolme muutosta tekisi siitä merkittävästi tehokkaamman.

1. Domain-rikastus ennen sähköpostietsintää

Ongelma: Monilta PRH-yrityksiltä puuttuu verkkosivutieto, jolloin Anymail Finder ei pysty hakemaan kontaktia lainkaan.

Ratkaisu: Lisää putken väliin Hunter.io:n Company Search tai Clearbit Enrichment. Nämä palvelut ottavat yrityksen nimen ja palauttavat domainin — usein myös silloin kun PRH-datassa kenttä on tyhjä.

Tulos: Merkittävästi suurempi osa yrityksistä etenee sähköpostietsintään.

2. Vaihda Anymail Finder Cognismiin

Anymail Finder on kohtuullinen yleistyökalu, mutta eurooppalaiseen B2B-myyntiin on olemassa selvästi parempi vaihtoehto: Cognism.

Anymail Finder / ZoomInfo / Apollo

Rakennettu Yhdysvaltoja varten. Eurooppalainen data on ohut. GDPR-dokumentaatio on parhaimmillaankin epäselvä. Suomalaiset mikroyritykset puuttuvat lähes kokonaan.

✓ Cognism — eurooppalainen valinta

Rakennettu nimenomaan eurooppalaisia markkinoita varten. Kattaa Suomen, Pohjoismaat ja koko EU:n. Operoi permission-based data -mallilla — suostumukset hankittu. Tietosuojavaltuutettu ei kolku ovelle.

3. Sähköpostivalidointi ennen tallennusta

Kaikki löydetyt sähköpostiosoitteet eivät ole toimivia. Lisäämällä NeverBounce tai ZeroBounce -validoinnin ennen datastorelle tallennusta varmistetaan, että myyntilistalla on vain osoitteita joihin viesti menee perille.

Tämä on erityisen tärkeää sähköpostimarkkinoinnin näkökulmasta — korkea bounce-rate nostaa roskapostipisteitä ja voi johtaa siihen, että lähettävä domain mustalistataan.

Valmis ammattitason putki

Ammattitason versio — 8 moduulia

01 HTTP PRH API Hae viikon uudet yritykset
02 JS JavaScript Parsitaan yritykset
03 ITR Iterator Käy yritykset läpi
04 API Hunter / Clearbit Haetaan domain jos puuttuu
05 API Cognism Haetaan CEO:n kontaktitieto
06 API NeverBounce Validoidaan sähköposti
07 FLT Filtteri Vain validit osoitteet
08 DS Datastore Tallennetaan

Yhteenveto

Automaattinen liidigenerointi PRH:n avoimella datalla on konkreettinen, rakennettavissa oleva järjestelmä — ei teoria.

Pelkästään tällä perustoteutuksella saat viikoittain listan tuoreista suomalaisyrityksistä ja niiden päättäjien yhteystiedoista ilman manuaalista työtä. Paremmalla arkkitehtuurilla — domain-rikastus, Cognism, sähköpostivalidointi — tuloksista tulee merkittävästi laadukkaampaa ja juridisesti kestävämpää.

Kun liidit on kerätty, seuraava askel on tavoittaa ne oikealla viestillä. Jos käytät Google Adsia osana myyntiputkeasi, kannattaa lukea 10 yleisintä Google Ads -virhettä, jotka kannattaa korjata vuonna 2026 — monet niistä korostuvat juuri kylmässä B2B-hankinnassa.

Seuraavassa artikkelissa rakennetaan juuri tämä ammattitason versio vaihe vaiheelta.

Haluatko valmiin Make.com-blueprintin?

Lataa skenaario suoraan Make.comiin

Jätä sähköpostisi niin lähetän valmiin Make.com-blueprintin, jonka voit tuoda suoraan omaan tiliisi. Ei koodausta, ei konfigurointia alusta asti — vain tuot ja muokkaat omiin tarpeisiisi.

Pyydä blueprint →