Finland YTJ Company Registry Scraper
Pricing
Pay per event
Finland YTJ Company Registry Scraper
Search Finland’s public YTJ company registry by name or Business ID. Export legal names, legal forms, municipalities, industries, and source context for verified Finnish company records.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search public Finnish company records from the YTJ (Yritys- ja yhteisötietojärjestelmä) registry.
Export Finnish Business IDs, legal names, company forms, municipalities, and industries in structured JSON.
What does it do?
This Apify Actor searches the public YTJ company and organisation registry by company name or exact Y-tunnus.
Use it to turn public Finnish registry searches into records that can be filtered, exported, or sent to downstream tools.
It supports discovery searches such as Nokia and direct verification lookups such as 0112038-9.
Who is it for?
- Sales operations teams building a Finland-focused company prospect list.
- KYB and compliance teams verifying a public Business ID.
- Analysts researching Finnish corporate entities and industries.
- Developers who need a repeatable YTJ registry extractor in an automated workflow.
This Actor is for public registry information only. It does not provide private company data or paid PRH/Virre documents.
Why use the YTJ registry scraper?
Manual registry lookup is useful for one company, but it is slow to repeat across many name searches.
The Actor produces a consistent dataset with the search query retained on every row.
That makes it easy to join results with an existing lead list, deduplicate by Business ID, or audit how a company was found.
Public data returned
| Field | Description |
|---|---|
businessId | Finnish Y-tunnus / Business ID |
legalName | Current legal company or organisation name |
legalForm | Public legal-form label from YTJ |
municipality | Registered municipality / domicile |
industry | Public main-industry label when available |
query | The input that generated the row |
queryMode | companyName or businessId |
sourceUrl | Public YTJ result or company page URL |
scrapedAt | ISO 8601 collection timestamp |
Quick start
- Open the Actor in Apify.
- Enter one or more company names or Business IDs.
- Keep the first run small with a low
maxItemsvalue. - Run the Actor and download the dataset as JSON, CSV, Excel, or via API.
A name search can have many partial matches. Use an exact Business ID when you already know the entity to verify.
Search by company name
Use companyNames to discover companies that match a word or phrase.
{"companyNames": ["Nokia"],"maxItems": 10}
The registry may return similarly named organisations as well as the best-known company. Filter by legal form, municipality, or industry after export.
Search by Finnish Business ID
Use businessIds for direct public company verification.
{"businessIds": ["0112038-9"],"maxItems": 1}
The Business-ID mode opens the public company record and returns current legal-name, legal-form, municipality, and main-industry values.
Combine searches carefully
You can submit both input modes in one run.
{"companyNames": ["Nokia", "Kone"],"businessIds": ["0112038-9"],"maxItems": 20}
maxItems is a global cap for the entire run. Put direct IDs first in a separate run if they must not be crowded out by a broad name search.
Input reference
| Input | Type | Purpose |
|---|---|---|
companyNames | array of strings | Name queries for public YTJ results |
businessIds | array of strings | Exact Y-tunnus values to look up |
maxItems | integer, 1–100 | Maximum dataset rows across all queries |
At least one company name or Business ID is required.
Output example
{"businessId": "0112038-9","legalName": "Nokia Oyj","legalForm": "Julkinen osakeyhtiö","municipality": "HELSINKI","industry": "70100 Pääkonttorien toiminta","query": "0112038-9","queryMode": "businessId","sourceUrl": "https://tietopalvelu.ytj.fi/yritys/0112038-9","scrapedAt": "2026-07-11T00:00:00.000Z"}
Some public records do not list an industry. In those cases industry is null rather than a guessed value.
How much does it cost to scrape Finland YTJ company records?
This Actor uses pay-per-event pricing: a small run-start event plus one event for each output company record.
Current per-item prices are shown in the Apify pricing panel before a run starts. Keep initial searches small so you can confirm the returned match quality.
Tips for better matches
- Prefer a full legal name over a generic keyword.
- Use a Business ID for an exact entity lookup.
- Start with 5–10 results for broad names.
- Deduplicate exported records using
businessId. - Retain
queryandqueryModewhen combining searches from multiple teams.
Integrations
Use the dataset in a lead-enrichment workflow: search names from a CRM, filter Finnish entities by municipality or industry, then save the Business ID back to your CRM.
For KYB workflows, submit known Business IDs and archive the returned sourceUrl with the verification result.
For data pipelines, fetch the default dataset after each run and load rows into a warehouse keyed by businessId.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/finland-ytj-company-registry-scraper').call({companyNames: ['Nokia'],maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/finland-ytj-company-registry-scraper").call(run_input={"businessIds": ["0112038-9"], "maxItems": 1})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~finland-ytj-company-registry-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"companyNames":["Nokia"],"maxItems":10}'
MCP usage
Add this Actor to Apify MCP tools with ?tools=automation-lab/finland-ytj-company-registry-scraper.
For Claude Code, add the Apify MCP server:
$claude mcp add --transport http apify https://mcp.apify.com/?tools=automation-lab/finland-ytj-company-registry-scraper
For Claude Desktop, add this server configuration and restart the app:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/finland-ytj-company-registry-scraper"}}}
Example prompts: “Search the Finnish YTJ registry for companies named Nokia and return the first five Business IDs.”
“Verify Finnish Business ID 0112038-9 and return its legal form and municipality.”
Reliability and limitations
YTJ is a public website whose markup and availability can change.
Broad searches can return hundreds of matches; this Actor deliberately reads only the first result page and respects maxItems.
It does not bypass login controls, paywalls, CAPTCHA challenges, or access restrictions.
No result is returned when YTJ has no matching public entry.
Legality and responsible use
Only collect and use public registry information for lawful, legitimate purposes.
Respect YTJ terms, applicable Finnish and EU data-protection requirements, and your organisation’s compliance policies.
Do not use public company data to make decisions about individuals or to send unlawful marketing.
Troubleshooting
Why did a name search return unexpected companies?
YTJ name matching can include partial matches and organisations with the word in their name. Use a more specific name, reduce maxItems, or look up a known Y-tunnus.
Why is an industry empty?
Not every public record exposes a current main-industry value. The Actor returns null in that case.
Why did I receive zero rows?
Check the Business ID format, spelling, and whether the entity appears in the public YTJ service. Retry later if the public service is temporarily unavailable.
FAQ
Does this Actor return paid Virre documents?
No. It extracts only information publicly displayed by YTJ.
Can I search terminated companies?
The current MVP searches the public default result set for active entities. Use the YTJ website directly for special search filters not exposed by this Actor.
Can I request more than 100 companies?
The Actor caps one run at 100 items to keep results predictable and avoid excessive broad searches.
Related scrapers
For adjacent European registry workflows, see the France Sirene Company Scraper.
For broader B2B workflows, combine registry data with your CRM or a company-domain enrichment Actor.
Support
Include your non-sensitive input, run ID, and an example expected result when reporting an issue.
Do not send credentials or private data in Actor support requests.