Drug Pricing
September 22, 2026
8 min

Norway drug prices: maximum AIP, stepped prices and FEST

What Norway publishes, why the figures are ceilings rather than prices, and why the identification problem simply does not arise here.

Blog Image
Table of contents
    Summary
    • Norway is the only country in our review that delivers price, national article number and GTIN in a single openly licensed file.
    • The published figures are maximum prices, not transaction prices. Delivering them as the Norwegian price delivers an upper bound.
    • A record can carry four figures: maximum purchase price, maximum retail price, stepped price for generics and reimbursement price. Keep all four.
    • The structured dataset has a constant URL, while the price spreadsheet carries the date and has to be parsed from the page.
    • No conversion factor to the manufacturer level exists, because Norway is not covered by the regulation that supplies the Nordic factors.

    Norway is the only country in our European review that delivers the price, the national article number and a GTIN in a single openly licensed file. That combination removes the two most expensive problems in cross-border pharmaceutical data at once. What Norway does not give you is a manufacturer price, and unlike its neighbours it does not even offer a substitute factor to derive one.

    What Norway publishes

    The national directorate for medical products maintains two routes, and they behave very differently.

    PropertyPrice spreadsheetThe structured full dataset
    ContentPack pricesComplete prescribing and dispensing data
    Price levelsMaximum purchase price, maximum retail priceStepped price and reimbursement price as well
    FormatSpreadsheetXML inside a ZIP
    RhythmFrequent, exact cadence not documentedUpdated before the 1st and the 15th of each month
    LinkCarries the date, must be parsed from the pageConstant URL
    Volume9,811 pack rows10,802 pack records
    LicenceOpen licence of the Norwegian stateSame

    We downloaded the structured dataset on 5 September 2026 at HTTP 200 and 14,448,042 bytes, containing a single XML file of 117,503,607 bytes.

    These are ceilings, not prices

    Norway sets maximum prices. The published figures are the maximum pharmacy purchase price and the maximum pharmacy retail price, alongside a stepped price for generics and a reimbursement price.

    Anyone delivering those as the Norwegian price is delivering an upper bound. That belongs on the label, not in a methodology appendix, because the difference between a ceiling and a transaction is exactly what a procurement or sourcing decision turns on.

    The stepped price deserves its own note. It is a mechanism that reduces the permitted price of a generic in defined steps after competition enters, so a stepped price and a maximum price for the same product describe two different regulatory states. Keep them as separate fields.

    The GTIN that arrives for free

    In most European price sources the identifier problem dominates the implementation: the price file carries a national code, the authorisation register carries something else, and the join runs on fuzzy matching with a documented error rate. Ireland is the extreme case, France solves it because its national code happens to be a valid GTIN, and Belgium solves it with a structured quantity field.

    Norway simply publishes both. The national article number, the GTIN and a structured pack size come from the same open source, with the prices. That makes Norway the cheapest country in Europe to integrate at pack level, and it is worth using early in a build for exactly that reason: it gives the pipeline a reference case where identification is not in doubt.

    Four price fields, four different questions

    A Norwegian record can carry four figures, and each answers something distinct.

    • Maximum pharmacy purchase price. The highest price a pharmacy may pay. The closest thing Norway has to a wholesale level.
    • Maximum pharmacy retail price. The ceiling at the counter.
    • Stepped price. A reduced ceiling that applies to generics once competition has entered, stepping down over defined periods.
    • Reimbursement price. What the public system will fund.

    A dataset that stores only one of them loses the ability to answer the other three questions, and the choice of which one to keep quietly decides what the data can be used for later. Keeping all four costs three extra columns and preserves every use case.

    For a cross-country comparison, the maximum pharmacy purchase price is usually the right member of that set, because it is the level closest to the wholesale figures that other countries publish. Even then it is a ceiling being compared against, in some countries, an actual regulated price.

    The link that has to be parsed

    The price spreadsheet is addressed through a URL that carries an asset folder identifier and the date of the day. We tested the same address with four earlier dates and each returned HTTP 404, served with a large error page rather than a clean status. The link therefore has to be read from the page each time.

    The structured dataset is the opposite: a constant URL, no parameters, no session, no parsing. Five extracts are offered, of which several are openly retrievable.

    The practical design follows from that asymmetry. Build the pipeline on the constant URL and treat the spreadsheet as a supplementary source, fetched by parsing the page when a specific price view is needed.

    Two extracts are closed, and the reason matters

    Since 30 August 2023, two of the extracts are no longer available for open download. The recipient must hold a certificate for identification, because those extracts contain confidential content.

    That is a useful reminder for anyone assuming that an open data regime covers everything a national authority produces. It usually covers a defined set, and adjacent datasets can carry different conditions. Where a project depends on one of the restricted extracts, the certificate requirement is a lead time item, not a technical detail.

    No manufacturer level, and no factor either

    Every other Nordic country in our review has a substitute factor for the step from the pharmacy purchase price down to the manufacturer level: 6.5 percent for Denmark, 3.0 percent for Finland, 2.8 percent for Sweden. Those come from an Austrian price commission regulation that applies expressly to EU member states.

    Norway is not an EU member and does not appear in it. There is therefore no factor at all, not even a questionable one.

    Two honest options follow. Publish Norway at the level it actually provides, the maximum pharmacy purchase price, and say so. Or establish a Norwegian specific factor from a Norwegian legal basis, which is open work rather than a lookup.

    The wrong option, which is easy to fall into, is to borrow a neighbouring country's factor because the markets look similar. That produces a figure with no legal basis in any jurisdiction, and it will be indistinguishable from a real derivation once it is in a database.

    The size of the file changes the engineering

    The structured dataset unpacks to an XML file of roughly 117 megabytes for about 10,800 pack records. That is not large by database standards, but it is large enough that a naive parser which loads the whole document into memory will behave badly on a small server, and that a full reload every fourteen days is wasteful when little has changed.

    The two practical measures are streaming rather than loading, and keeping the previous extract so that a comparison can identify what actually moved. The second one also produces the change history that the source itself does not provide at that granularity.

    The history is better than most

    The directorate links a price history overview covering pack prices since 2020, updated twice a year by its own account, alongside a document with prices reaching back to 2004.

    Among the countries we examined, that is one of the stronger historical offerings, though it is a periodic overview rather than a reloadable monthly series. Finland remains the only country where a full monthly archive can be reconstructed at will.

    What Norway is good for

    A reference case for identification. Price, national code, GTIN and pack size from one open file.

    Reference pricing analysis. Norway is a member of the Dutch maximum price basket, so its published levels feed directly into a statutory calculation in another market.

    Cross-border sourcing views, where a maximum purchase price is a usable ceiling even when the transaction price is unknown.

    What it is not good for is any comparison that requires a manufacturer level figure, unless that limitation is stated in the same line as the number.

    A checklist for Norwegian prices

    1. Label the figures as maximum prices, not as prices.
    2. Keep the stepped price and the maximum price as separate fields.
    3. Build on the constant URL of the structured dataset, and treat the dated spreadsheet as supplementary.
    4. Parse the spreadsheet link from the page rather than constructing it from a date.
    5. Use the published GTIN for the join and keep the national article number alongside it.
    6. Do not borrow a neighbouring country's conversion factor. Norway has none.
    7. Plan certificate based access early if a restricted extract is needed.

    Conclusion

    Norway solves the hardest part of European pharmaceutical data almost by accident: identification. Price, article number, GTIN and pack size arrive together under an open licence through a constant URL. The limitation is at the other end of the chain. The published figures are legal ceilings rather than transactions, and there is no accepted route from them to a manufacturer price. Publish what Norway publishes, name the level, and resist the temptation to import a factor from across the border.

    Related reading: European Drug Pricing Database: how cross-border prices work and Pharma pricing Germany: how the system works, plus pharmacy purchase price and external reference pricing in Europe.

    pharmazie.com is the consolidated pharmaceutical data platform by DACON Datenbank Consulting GmbH that bundles 25+ specialist databases into a single search, exclusively for healthcare professionals. Price coverage focuses on the DACH region and a number of further EU countries, with more countries following in the coming months.

    Author Image
    Ursula Tschorn
    Ursula Tschorn is CEO of DACON Datenbank Consulting GmbH and has been building pharmaceutical information infrastructure since 1989. She writes on drug data standards, pricing regulation and market access in the DACH region.

    FAQ

    Where can I find Norwegian drug prices?
    Does Norwegian price data contain a GTIN?
    What is a maximum AIP?
    How do I get to the Norwegian manufacturer price?
    What is a stepped price?
    How often is Norwegian price data updated?
    Since 1989, over 1,000 customers have placed their trust in our data.

    The most comprehensive drug database for pharma professionals.