Proff.no Scraper avatar

Proff.no Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Proff.no Scraper

Proff.no Scraper

[💰 $2.50 / 1K] Extract Norwegian company data from proff.no — names, organisation numbers, contacts, addresses, industries, and headline financials. Search by keyword and county, or by proff.no search URLs.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

19 days ago

Last modified

Share

Pull Norwegian company records from proff.no at scale — 9-digit organisation numbers, credit ratings, every industry category a company is listed under, revenue and operating profit with the currency they were filed in, direct phone numbers and named decision-makers, emails and websites where proff.no holds them, visitor and postal addresses with map coordinates, and employee counts, all in one clean row per company. Built for Norwegian B2B sales teams, market researchers, credit and risk analysts, and recruiters who need structured business intelligence without copying it out of proff.no one company page at a time.

Why This Scraper?

  • 9-digit organisation number (orgnr) on every record — the unique Brønnøysundregistrene identifier that lets you dedupe, enrich, and join against any other Norwegian business dataset.
  • Credit rating and full accounts on the same row — proff.no's own rating (A++, A+, and down the scale) sits next to revenue, operating profit, headcount and accounts year, so credit and risk teams triage a shortlist without opening a single profile. proff.no rates roughly 1 company in 12 on a broad search, and about 4 in 10 of those that keep a proff.no directory profile.
  • Filed figures carry their own currency — revenue and operating profit in thousands, the accounts year (e.g. 2025), and a currency code on every figure. Roughly 99% of Norwegian companies file in NOK, but the biggest often do not: Equinor Asa comes back as revenue: 67956000 with currency: "USD", so you never multiply a dollar figure by a kroner rate.
  • Every industry a company is listed under, not just its main one — proff.no's own Norwegian bransje categories (Entreprenører, Serveringssteder, Tannhelse, Shipping og sjøtransport), up to 7 per company, plus a single currentIndustry for one-column sector filtering. These are proff.no's plain-Norwegian directory categories, not official NACE codes, which makes them far easier to search and group than a numeric classification.
  • Contactable-only mode, so you never pay for blank columns — switch on Only companies with contact details and every row you collect has an email address or a website: a nationwide construction search returned 74 of 74 rows with contacts, 72 of them with an email. Leave it off and every row still carries a hasContactDetails true/false flag, a direct phone number on around two thirds of companies, and a named decision-maker with their role on 93%.
  • All of Norway across 16 regions — filter a keyword search to any one of the 15 post-2024 fylker (Oslo, Akershus, Vestland, Rogaland, Trøndelag, Innlandet, Agder, Østfold, Buskerud, Vestfold, Nordland, Møre og Romsdal, Telemark, Troms, Finnmark) plus Svalbard.
  • Two addresses plus map coordinates — separate visitor and postal address (street, postal code, city), the county, municipality and landsdel, and WGS84 latitude and longitude on 96% of companies, so a result set drops straight onto a map or into a territory plan.
  • Up to 35 fields per company on one flat row — identity and branch relationships, contacts, two addresses with coordinates, financials with their currency, credit rating, industries, named contact person, logo URL, and a proff.no profile link that actually resolves, with empty fields stripped so you never get a wall of nulls.
  • Three ways to target, and no duplicate rows — paste proff.no search-result URLs, search by keyword or company name, or narrow to a single fylke. proff.no lists some companies once per trade name; those repeats are collapsed before you are billed, while genuine branch offices stay as their own rows. Zero-result searches return a clear message rather than failing silently.

Use Cases

Lead Generation

  • Build prospect lists filtered down to companies that actually have an email or website on file
  • Narrow a keyword search to a single fylke to canvass a sales territory
  • Attach the named contact person to each account before outreach
  • Score leads by revenue, operating profit, or employee count

Credit & Risk Analysis

  • Screen every rated company in a result set by proff.no credit rating in one run
  • Check registration status where proff.no reports one, and spot units flagged with dated status remarks
  • Prioritise low-risk counterparties before extending terms
  • Pull organisation numbers to order full credit reports downstream

Market Research

  • Map how many companies operate in an industry across Norway's 16 regions
  • Compare revenue and employee distributions between fylker
  • Size a market by counting active companies in a region
  • Track company status changes within a sector over time

Recruitment

  • Find employers by industry and region with headcount data
  • Build candidate-sourcing target lists of companies in a fylke
  • Identify growing firms by revenue and employee figures
  • Reach decision-makers via the named contact person and direct phone

Competitive Intelligence

  • Monitor competitors and their registered financials and credit ratings
  • Map the full set of companies in a niche by industry category
  • Benchmark a firm's revenue and headcount against its regional peers
  • Track new entrants in a target sector and region

Getting Started

Search by Keyword

The simplest way to start — a single business or industry keyword:

{
"searchTerm": "restaurant",
"maxResults": 100
}

Narrow to a Region

Limit a keyword search to a single Norwegian county (fylke):

{
"searchTerm": "bygg",
"county": "Vestland",
"maxResults": 50
}

Paste a Search URL

Reuse the filters from any proff.no search-result page — right down to a single municipality — just paste the URL:

{
"startUrls": [
"https://www.proff.no/bransjesøk?q=frisør&county=Oslo",
"https://www.proff.no/bransjesøk?q=restaurant&county=Vestland&municipality=Bergen"
],
"maxResults": 200
}

Contactable Companies Only

Skip the companies proff.no has no email or website for, so you only collect rows you can act on:

{
"searchTerm": "bygg",
"onlyWithContactDetails": true,
"maxResults": 100
}

Set maxResults to 0 to pull the full result set (a built-in 100,000 safety limit applies):

{
"searchTerm": "Equinor",
"county": "Rogaland",
"maxResults": 0
}

Input Reference

What to Scrape

Provide search URLs, or type a search term — you only need one of the two.

ParameterTypeDefaultDescription
startUrlsarray[]Paste proff.no search-result URLs. The search words, the region, county, municipality and postal-town filters, the sort order and the page you're on are all carried over automatically. If a link contains anything proff.no's search can't apply, the run says so instead of quietly ignoring it. Leave empty if you'd rather build a search using the fields below.
searchTermstring"restaurant"A business or industry keyword, or a company name to search for (e.g. restaurant, bygg, Equinor). Leave empty if you're using Search URLs above.

Search Filters

These filters apply only to the Search Term. A pasted Search URL keeps the region, county, municipality and postal-town filters written into the link itself.

ParameterTypeDefaultDescription
countyselectnullLimit results to one Norwegian county (fylke): Oslo, Akershus, Vestland, Rogaland, Trøndelag, Innlandet, Agder, Østfold, Buskerud, Vestfold, Nordland, Møre og Romsdal, Telemark, Troms, Finnmark, or Svalbard. Leave blank to search all of Norway.
onlyWithContactDetailsbooleanfalseReturn only companies that have an email address or a website listed on proff.no. Most Norwegian companies are registered without either, so those columns come back blank; turn this on when you need contactable companies and don't want to pay for rows you can't use.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of companies to return across all searches and URLs. Set to 0 to collect as many as are available (a built-in safety limit of 100,000 applies). Tip: start with 10-50 to test, then increase.
sortByselectrelevanceOrder results by relevance (proff.no's own ranking), revenueDesc, revenueAsc, numEmployeesDesc, or numEmployeesAsc. Sorting by revenue or employees is the quickest way to pull the largest (or smallest) companies in a market when you're only collecting the first few hundred.

Output

Each company is returned as one flat record. Empty fields are omitted to keep results clean.

{
"name": "Grande Entreprenør AS",
"legalName": "Grande Entreprenør AS",
"orgNumber": "912051625",
"url": "https://www.proff.no/selskap/grande-entrepren%C3%B8r-as/verdal/entrepren%C3%B8rer/IF30FJD00C9",
"description": "Grande Entreprenør utvikler prosjekter, og kan gjennomføre totalenterpriser med egne fagfolk innen de fleste fag.",
"industries": ["Entreprenører", "Bygg- og anleggsleverandører"],
"currentIndustry": "Entreprenører",
"revenue": 591417,
"profit": 38906,
"currency": "NOK",
"accountsLastUpdated": "2025",
"employees": 154,
"creditRating": "A++",
"mainOffice": true,
"phone": "41666600",
"email": "firmapost@grande-entreprenor.no",
"homePage": "https://grande-entreprenor.no/",
"hasContactDetails": true,
"contactPerson": {
"name": "Morten Hynne",
"role": "Daglig leder"
},
"visitorAddress": {
"addressLine": "Neptunvegen 1",
"zipCode": "7652",
"postPlace": "Verdal"
},
"postalAddress": {
"addressLine": "Neptunvegen 1",
"zipCode": "7652",
"postPlace": "Verdal"
},
"location": {
"countryPart": "Midt-Norge",
"county": "Trøndelag",
"municipality": "Verdal",
"coordinates": [
{
"coordinateSystem": "EPSG:4326",
"xcoordinate": 11.452892156,
"ycoordinate": 63.785402343
}
]
},
"logo": "https://www.proff.no/images/6969199",
"companyId": "IF30FJD00C9"
}

Most Norwegian companies are registered without an email or a website. Those come back with hasContactDetails set to false and the contact columns simply absent, so you can filter or count them instead of guessing why a cell is blank. Note the accounts currency on this one:

{
"name": "Equinor Asa",
"orgNumber": "923609016",
"url": "https://www.proff.no/selskap/equinor-asa/stavanger/olje-og-gass/IF9W5A00VFQ",
"currentIndustry": "Olje og gass",
"revenue": 67956000,
"profit": 5563000,
"currency": "USD",
"accountsLastUpdated": "2025",
"employees": 21239,
"phone": "51990000",
"hasContactDetails": false,
"location": { "county": "Rogaland", "municipality": "Stavanger" }
}

Larger companies are listed once per office. A branch office comes back as its own row with its own organisation number, and points at the company it belongs to:

{
"name": "WK Entreprenør AS avd Oslo",
"orgNumber": "987355662",
"parentOrgNumber": "980535053",
"parentName": "Wk Entreprenør AS",
"mainOffice": false,
"businessUnitId": "987355662",
"location": { "county": "Oslo", "municipality": "Oslo" }
}

Company Identity

FieldTypeDescription
namestringCompany display name
legalNamestringRegistered legal name
orgNumberstringThis listing's own Norwegian organisation number (organisasjonsnummer, 9 digits). For a branch office this is the branch's own number, not the parent company's, so each office stays a separate row when you join or de-duplicate on it
parentOrgNumberstringPresent on branch offices only: the organisation number of the parent company the branch belongs to
parentNamestringPresent on branch offices only: the registered name of the parent company
urlstringLink to the company's proff.no profile page
statusstringRegistration status as reported by proff.no. Search results cover currently registered companies, so this is normally absent; it appears only when proff.no flags the unit (e.g. dissolved, bankrupt)
statusRemarksarrayDated status remarks, on the rare rows where proff.no flags one
businessUnitTypestringBusiness-unit type (main unit / sub-unit), on the rows where proff.no supplies one
mainOfficebooleantrue when this listing is the registered company itself (hovedkontor), false when it is one of its branch offices
descriptionstringShort company description

Contact Details

proff.no holds an email or website only for companies that maintain a directory profile with them; for everyone else the registry simply has nothing on file. hasContactDetails tells you which is which on every row, and the onlyWithContactDetails input collects just the first group.

FieldTypeDescription
hasContactDetailsbooleanOn every row. true when proff.no lists an email or a website for the company, false when it has neither on file
phonestringPrimary phone number, on roughly two thirds of companies
emailstringContact email, on companies with a proff.no directory profile
homePagestringCompany website, on companies with a proff.no directory profile
contactPersonobjectNamed contact person as proff.no lists them, with exactly two fields: name and role (e.g. Daglig leder). Present on around 93% of companies. Changed: this object previously also carried the person's date of birth and a proff.no person identifier. Both are personal data with no business use, so they are no longer collected. If you were reading either one, that field is now absent
phone2stringSecondary phone number, rarely registered
mobilestringMobile number, rarely registered
faxstringFax number, rarely registered

Address & Location

FieldTypeDescription
visitorAddressobjectVisiting address: addressLine, boxAddressLine, zipCode, postPlace
postalAddressobjectPostal address, same shape as the visiting address
locationobjectcounty (fylke), municipality (kommune), countryPart (landsdel), and coordinates with WGS84 longitude (xcoordinate) and latitude (ycoordinate)

Financials & Credit

FieldTypeDescription
revenuenumberLatest reported revenue, in thousands of the currency named in currency
profitnumberLatest operating profit, in the same units as revenue
currencystringThe currency the accounts were filed in. NOK for around 99% of companies; USD, EUR or DKK for internationally reporting groups such as Equinor and the offshore and shipping companies
accountsLastUpdatedstringAccounts year the figures cover (e.g. 2025)
employeesnumber / stringEmployee count, either an exact number or a band such as 1 - 4 for the smallest companies
creditRatingstringproff.no credit rating (e.g. A+), where available

Industry & Other

FieldTypeDescription
industriesarrayEvery proff.no industry category (bransje) the company is listed under, up to 7. These are proff.no's own directory categories, not official NACE codes
currentIndustrystringPrimary current industry, by name
certificatesarrayCertifications, on the rare rows where proff.no lists any
logostringLink to the company logo image
companyIdstringproff.no internal company identifier
businessUnitIdstringBranch offices only: the branch's own organisation number, the same value orgNumber carries on that row
fromUrlstringOn pasted-URL runs only: the Search URL this record came from, so you can tell which link produced which rows

Tips for Best Results

  • Start with maxResults at 10-50 to preview the data, then raise it once the search looks right. Set it to 0 to collect every available company for a search; for a broad keyword that can be a very large dataset, so confirm your filters first.
  • A keyword in searchTerm runs the broadest industry-and-name match — try a sector word like bygg or restaurant rather than an exact company name for the widest coverage.
  • Power-user tip: narrow a search on proff.no down to a single municipality or postal town, then copy the page URL straight into startUrls — the region, county, municipality, postal-town and sort settings all come across, so you never have to rebuild them here.
  • Shard a large industry by region — run the same searchTerm once per fylke (county) to break a huge sector into clean, regional batches you can process and store separately.
  • Turn on Only companies with contact details when you need an outreach list: every row you collect will then have an email or a website. It works best on broad, nationwide searches. A tightly filtered search can legitimately come back empty, and the run tells you exactly how many companies it checked when that happens.
  • revenue and profit are reported in thousands, so multiply by 1,000 for the full figure. Read currency first: about 1 in 100 companies files in USD, EUR or DKK instead of NOK, and those are usually the largest names in a result set, so a blanket "kroner" assumption misreads them by an order of magnitude.
  • Use creditRating to pre-screen before outreach or underwriting, but read a missing rating as "proff.no doesn't rate this one" rather than as a warning sign: only about 1 company in 12 on a broad search carries a rating at all.

Pricing

From $2.50 per 1,000 results — pay only for the company records you get, with the price dropping as your Apify subscription tier goes up.

ResultsNo discountBronzeSilverGold
100$0.30$0.28$0.27$0.25
1,000$3.00$2.80$2.65$2.50
10,000$30.00$28.00$26.50$25.00
100,000$300.00$280.00$265.00$250.00

Bronze, Silver and Gold are Apify's loyalty discount tiers — Gold pays the lowest rate. These tier rates take effect on 6 September 2026; until then every run is billed at the current flat $2.50 per 1,000 results.

One result is one company record. No compute charges — you only pay per result returned. Apify platform fees are additional and depend on your plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom workflows on run completion
  • Apify API — Full programmatic access

This actor collects publicly available business-information data from proff.no for legitimate purposes such as market research, lead generation, credit and risk analysis, recruitment, and due diligence. Records are company records: the only detail about a private individual in a row is the contact person's name and their role at the company, and no date of birth or personal identifier is collected. You are responsible for using the data in compliance with proff.no's terms of service, applicable data-protection laws (including the GDPR), and any restrictions on the use of personal data. Do not use the data for spam, harassment, or any unlawful purpose. Always respect the rights of the individuals and companies whose data you collect.