Apohem Scraper — Swedish Online Pharmacy Products & Prices avatar

Apohem Scraper — Swedish Online Pharmacy Products & Prices

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Apohem Scraper — Swedish Online Pharmacy Products & Prices

Apohem Scraper — Swedish Online Pharmacy Products & Prices

Scrape products, prices, and availability from Apohem.se — a Swedish online pharmacy. Supports search queries and category browsing.

Pricing

from $1.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Apohem Scraper — Swedish Online Pharmacy: Products, Prices & Stock Data

Extract products, prices, brands, stock status, and images from Apohem.se — a Swedish online pharmacy selling non-prescription medicines, vitamins, skincare, and wellness products.

What is Apohem Scraper?

Apohem is one of several online pharmacies competing for the Swedish digital health and wellness market, alongside larger players like Apotea and Apotek Hjärtat. It sells over-the-counter medicines, supplements, skincare, and personal care products through a standard search and category browsing structure built on EPiServer/Optimizely Commerce.

This actor extracts product data directly from Apohem's server-rendered listing pages (search results and category pages) — no browser automation needed. It anchors extraction on stable structural attributes (data-test-id, data-product-id, itemProp, alt text) rather than the site's CSS-modules hashed class names, so it keeps working across Apohem's frontend deploys. What people build with it:

  • Pharmacy pricing intelligence — competing Swedish pharmacies track Apohem's prices to stay competitive on overlapping SKUs.
  • Health & beauty market research — supplement and skincare brands monitor how their products are priced and stocked on Apohem.
  • Product catalogue enrichment — comparison sites and health platforms pull structured product data (names, brands, EAN codes, images) to populate their own listings.
  • Availability monitoring — track which products go out of stock or come back, and how often prices change.
  • Cross-pharmacy comparison — combine with our other Nordic pharmacy scrapers to build a full Swedish/Danish pharmacy price index.

What data does Apohem Scraper extract?

Each product record includes:

  • Product name — full product title in Swedish
  • Brand — manufacturer or brand name
  • Price — current price in SEK (Swedish kronor)
  • Original price — pre-discount reference price ("Ord.pris"), when the product is on sale
  • Currency — always SEK
  • Product ID / SKU — the site's numeric EAN/GTIN identifier
  • Stock status — whether the product is currently in stock ("Finns i lager")
  • Image — primary product image URL
  • Category — top-level category slug derived from the product URL
  • Is medicine — flagged true when Apohem shows a "Läkemedel" (medicine) badge on the product
  • Language"sv" (Swedish)
  • URL — direct product link on apohem.se

How to scrape Apohem data

FieldTypeRequiredDescription
searchQueryStringNoSearch by keyword: "vitamin", "hudvard" (skincare), "solskydd" (sunscreen)
categoryUrlStringNoAn Apohem category to browse instead of searching, e.g. "hudvard" or a full URL. Ignored if searchQuery is set.
maxResultsIntegerNoMaximum products to return (default: 50, max: 10,000)
proxyConfigurationObjectNoProxy settings — plain Apify Proxy works by default; switch to RESIDENTIAL/SE if you see failures

Tips:

  • Use Swedish keywords for best coverage: "vitaminer" (vitamins), "hudvard" (skincare), "tandvard" (dental care), "smartstillande" (painkillers).
  • Avoid ultra-specific single-product queries (e.g. "alvedon") — Apohem 302-redirects those straight to one product page instead of a search results list. Broader terms like "vitamin" or "alvedon 500mg" return proper result grids.
  • For category-wide scraping, use a top-level category slug from apohem.se's navigation: hudvard, vitaminer-kosttillskott, smink, traning, munvard, mage-tarm, and others.
  • No login or cookie acceptance is required to read product listings.

Output

{
"name": "Holistic Mega B-komplex 90 vegetabiliska kapslar",
"brand": "Holistic",
"price": 120,
"currency": "SEK",
"url": "https://www.apohem.se/vitaminer-kosttillskott/vitaminer-mineraler/b-vitaminer/b-vitaminkomplex/holistic-mega-b-komplex-90-vegetabiliska-kapslar",
"scrapedAt": "2026-07-25T10:22:34.432Z",
"language": "sv",
"originalPrice": 150,
"productId": "7350012335816",
"sku": "7350012335816",
"inStock": true,
"imageUrl": "https://www.apohem.se/cdn-cgi/image/width=1600,format=auto/globalassets/raderas-ej/produktbilder-radera-ej/7350012335816.jpg",
"category": "vitaminer-kosttillskott"
}

Medicine-flagged products (e.g. searching "alvedon 500mg") additionally carry "isMedicine": true:

{
"name": "Alvedon Tabletter 500 mg Paracetamol 20 st",
"brand": "Alvedon",
"price": 34,
"currency": "SEK",
"url": "https://www.apohem.se/vark-feber/huvudvark/alvedon-tabletter-500-mg-paracetamol-20-st",
"inStock": true,
"category": "vark-feber",
"isMedicine": true
}

How much does it cost?

Apohem's listing pages are plain server-rendered HTML — no browser rendering needed, so this actor is cheap to run.

VolumeEstimated CUsEstimated Cost
50 products~0.02~$0.01
500 products~0.10~$0.05
5,000 products~0.60~$0.30

Can I integrate?

Connect Swedish pharmacy data to your tools:

  • Google Sheets — track prices on your product portfolio across the Swedish pharmacy market
  • Slack — get alerts when specific health or beauty products go on sale on Apohem
  • Zapier / Make — automate pricing updates for your competing pharmacy or health store
  • Webhooks — stream product data to your own health product comparison platform
  • PostgreSQL / BigQuery — build a historical Swedish pharmacy pricing database

Can I use it as an API?

Yes. Build Swedish pharmacy intelligence into your stack:

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/apohem-scraper").call(run_input={
"searchQuery": "vitamin",
"maxResults": 50,
})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
stock = "I lager" if product.get("inStock") else "Slut"
print(f"{product['name']} | {product['price']} SEK | {stock}")

JavaScript:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("studio-amba/apohem-scraper").call({
searchQuery: "vitamin",
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const onSale = items.filter((p) => p.originalPrice && p.originalPrice > p.price);
console.log(`${onSale.length} products on sale:`);
onSale.forEach((p) => {
const discount = Math.round((1 - p.price / p.originalPrice) * 100);
console.log(` ${p.name} | ${p.price} SEK (was ${p.originalPrice}, -${discount}%)`);
});

FAQ

Does Apohem sell prescription medications? This actor scrapes public product listing pages, which cover non-prescription medicines, supplements, skincare, and general health products.

Is all data in Swedish? Yes. Product names and categories are in Swedish. The platform serves the Swedish market exclusively.

Do I need residential proxies? No anti-bot blocking has been observed with a plain browser User-Agent (Cloudflare is present on the site but does not challenge standard requests). Standard Apify Proxy works by default; the proxyConfiguration input lets you switch to RESIDENTIAL/SE if that changes.

How does pagination work? Apohem's listing endpoint accepts any page size directly for the first request, and continues in fixed 25-item increments for anything beyond that (matching the site's own "Visa fler" / load-more button). The actor handles this automatically — just set maxResults.

Why did my narrow search return fewer products than expected? Very specific single-product searches (e.g. a single SKU name) redirect straight to that product's page instead of a results grid. Use a broader keyword to get a proper listing.

Limitations

  • Product card extraction from listing pages captures what's shown on the grid (name, brand, price, stock, image, category, medicine flag) — it does not fetch individual product detail pages for full descriptions or ingredient lists.
  • Categories and product structures may change as Apohem updates their website; the actor is built to survive CSS class renames since it never depends on hashed class names.
  • Data is scraped from the public website and may change without notice.

Part of our Nordic pharmacy cluster:

Your feedback

Need specific categories, richer product detail extraction, or price history tracking? Open an issue on GitHub or contact us through the Apify platform. We build what users need.