Thalia.de Scraper icon

Thalia.de Scraper

Scrape Thalia.de books, eBooks, audiobooks, toys and stationery. Search by keyword or category, browse Schnäppchen deals, or paste product and listing…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Thalia.de Scraper at a glance

Thalia.de Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes article no., title, author(s), price and currency, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Ecommerce, Automation, Developer Tools
Region
Europe
Pricing
$2.20 per 1,000 results (Free plan), from $1.50 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
24 options

Scrape Thalia.de books, eBooks, audiobooks, toys and stationery. Search by keyword or category, browse Schnäppchen deals, or paste product and listing URLs. Get prices, original prices, discounts, ISBN/EAN, author, publisher, format, ratings and full reviews.

What Thalia.de Scraper can do

  • Real was-price and discount, never fabricated. On a Schnäppchen (sale) item, both the current price and the strike through original price come back, plus the discount amount and percentage computed from them; a full price item simply carries no discount fields.
  • A dedicated Specials filter. specialsOnly maps to Thalia's own price reduction facet, store wide or scoped to a keyword and/or category, the same collection shown at thalia.de/themenwelten/sale/.
  • Rich bibliographic identity. ISBN and EAN, the full author list, publisher, and the exact format/binding (Taschenbuch, gebundene Ausgabe, ePUB, MP3, Hoerbuch-Download, and more).
  • Full technical specifications as clean key value pairs. Each product's own "Produktdetails" table (pages, language, release date, dimensions, weight; varies per category) comes back structured, plus the full breadcrumb category path.
  • Format variant matrix. Other editions of the same title, for example the Hardcover and eBook of one novel, come back linked to each other.
  • Complete native review history. Overall rating, review count, a full 1 to 5 star rating breakdown, and individual reviews (20 per product by default; set Max reviews per product up to 1000, or 0 for the 1000 maximum) with author, date, rating, format, title, and body text, all from Thalia's own review system.

Choose what to collect

These inputs let you configure Thalia.de Scraper - Books, Prices, ISBNs & Reviews. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · required'search' finds products by keyword and/or category with Thalia's own filters, including Schnäppchen (sale) items. 'url' scrapes any product, category, search-result, or sale page URL you paste, walking pagination forward automatically.

Choices: search, url

searchTermstringFree-text keyword, title, author, or stichwort, e.g. 'krimi' or 'fantasy roman'. Combine with Category below to narrow, or leave empty and set only Category (and/or Specials only) to browse a whole department.
categorystringA Thalia category id, e.g. '3' (Romane & Erzählungen) or '4893' (eBooks). Find it as the trailing number in a category page URL: thalia.de/kategorie/-/. Narrows a keyword search, or browses the whole category when Search keyword is left empty. Search mode only: URL mode reads this from the link you paste.
urlsarrayPaste one or more Thalia product pages (/shop/home/artikeldetails/), category pages (/kategorie/-/), search-result pages (/suche?sq=), or the sale page (/themenwelten/sale/). Pagination continues forward automatically from any page number already in the URL. The keyword and category fields are ignored here. The fields in the Filters and sort section still apply to a pasted listing, category, search or specials URL.
specialsOnlybooleanOnly return items currently on sale (Thalia's own 'Schnäppchen' price-reduction facet): a real strike-through original price + discount. Combine with a keyword and/or category, or leave those empty to browse all current sale items (mirrors thalia.de/themenwelten/sale/). Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.
einbandarrayOnly return this exact binding/format, e.g. 'Taschenbuch', 'gebundene Ausgabe', 'ePUB 3', 'MP3', 'Hörbuch-Download'. Match the exact value as shown on the site (visible in each result's 'format' field). Leave empty for every format. Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.
minPriceintegerOnly return products priced at or above this amount. Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.
Show 17 more inputs
More input fields
InputWhat it controls
maxPriceintegerOnly return products priced at or below this amount. Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.
availabilitystringNarrow by delivery/availability status. Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.

Choices: , GL, SL, VB

sortBystringOrder of the returned results. Applies in BOTH search mode and URL mode: the listing request is rebuilt for a pasted listing, category, search or specials URL, so the filter is sent with it. It does not narrow a pasted product URL, which returns that one product.

Choices: sfmd, sfpa, sfpd, sfea, sfed, sfsd

fetchDetailsbooleanAdds ISBN/EAN, full author list, publisher, description, flattened technical specifications (pages, language, release date, dimensions, varies per product), full breadcrumb category path, media gallery, and the format-variant matrix (e.g. Hardcover/Taschenbuch/eBook siblings of the same title). Current price, was-price/discount and rating are already included without this toggle on search/category results.
fetchReviewsbooleanFetch each product's full review history: overall rating, review count, 1-5 star rating breakdown, and per-review author/date/rating/title/body. Products with no reviews simply return an empty list.
maxReviewsPerProductintegerCap on reviews fetched per product when 'Fetch reviews' is on. Leave empty for 20. A value of 0 means the maximum the actor allows, 1000 reviews per product; the largest accepted value is 1000.
maxPagesintegerStop after this many result pages per search/category/URL entry. Leave empty for as many pages as needed (bounded by Max products total). A value of 0 also means as many as needed. The actor never fetches more than 1000 pages per entry; larger values are lowered to 1000 with a warning in the run log.
maxItemsintegerHard cap on total products returned across every search/category/URL entry. Leave empty for 20. A value of 0 means the maximum the actor allows, 100000 products per run; the largest accepted value is 100000.
resumeFromRunIdstringOptional. Run ID of an earlier run of this actor that did not finish. Products it already returned are not returned (or billed) again. Leave empty for a normal run.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns all matching products as NEW. Later runs compare every product against the last run (title, authors, price, original price and discount, sale flag, badges and promo label, format, category path, availability) and return only NEW and UPDATED products; an UPDATED row's changedFields names exactly what moved. Ratings, review counts, the image link and the product link are never compared, because they change without a real product change. Unchanged products are not returned, not enriched and not billed. For search, category and sale links the comparison uses the search result data, so fields only present after the optional product details (ISBN, publisher, description) do not trigger UPDATED; a pasted product link returns the full product record and that whole record (details included) is compared. State is kept separately for each search/URL/filter setup; use State key to name or share a campaign. Products that disappear are returned once as EXPIRED (see 'Return products that disappeared') and a product that comes back is returned as REAPPEARED.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to derive a key automatically from the search/URL and filter settings.
emitUnchangedbooleanIncremental mode only. Return products that did not change, as plain rows (no reviews fetch, no enrichment charge). Each returned UNCHANGED row counts as a returned result and is billed under the per-result event. Off by default: unchanged products are skipped.
emitExpiredbooleanIncremental mode only. When a run walks its whole search to the end, return products seen earlier that are no longer listed, with changeType EXPIRED. Each returned EXPIRED row counts as a returned result and is billed under the per-result event (no enrichment charge). Never emitted for capped, partial or resumed runs.
ignoreFieldsForChangesarrayOptional. Field names to exclude from UPDATED change detection, in addition to the built-in handling (rating, reviewCount, image and url never trigger UPDATED). Nested fields can be given as dotted paths. Ignored fields are still returned in the row.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify -> Settings -> Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

productIdArticle No. (text)
titleTitle (text)
authorsAuthor(s) (array)
pricePrice (number)
currencyCurrency (text)
originalPriceOriginal / was price (number)
discountPercentDiscount % (number)
isOnSpecialOn sale (boolean)
formatFormat (text)
isbnISBN (text)
ratingRating (number)
reviewCountReviews (number)
Show 15 more fields
availabilityTextAvailability (text)
urlURL (link)
imageImage (image)
reviewsReviews (rating, count, breakdown, per-review list) (object)
eanEAN (text)
descriptionDescription (text)
specificationsSpecifications (object)
variantsVariants (array)
imagesImages (array)
categoryPathCategory path (array)
categoryPathDetailedCategory path (detailed) (array)
changeTypeChange (text)
changedFieldsChanged fields (array)
firstSeenAtFirst seen (text)
lastSeenAtLast seen (text)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "productId": "A2048591",
  "title": "Sample Title",
  "authors": [
    "Sample Author"
  ],
  "url": "https://www.thalia.de/shop/home/artikeldetails/A2048591",
  "price": 4.99,
  "currency": "EUR",
  "originalPrice": 9.99,
  "discountAmount": 5,
  "discountPercent": 50.1,
  "isOnSpecial": true,
  "promoLabel": "- 50%",
  "format": "eBook (ePUB 3)",
  "categoryPath": [
    "Ebooks",
    "eBooks",
    "Krimis & Thriller"
  ],
  "availabilityText": "Sofort per Download lieferbar",
  "availabilityStatus": "gruen",
  "rating": 4.3,
  "reviewCount": 128,
  "isbn": "978-3-000-00000-0",
  "specifications": {
    "Format": "ePUB 3",
    "Verlag": "Sample Verlag",
    "Seitenzahl": "288 (Printausgabe)",
    "Erscheinungsdatum": "12.03.2024"
  },
  "variants": [
    {
      "format": "Hardcover",
      "url": "https://www.thalia.de/shop/home/artikeldetails/A2048592"
    },
    {
      "format": "Taschenbuch",
      "url": "https://www.thalia.de/shop/home/artikeldetails/A2048593"
    }
  ],
  "images": [
    "https://images.thalia.media/-/BF2000-2000/sample/sample-cover.jpeg"
  ],
  "reviews": {
    "averageRating": 4.3,
    "totalReviewCount": 128,
    "ratingDistribution": [
      {
        "rating": 5,
        "count": 75
      },
      {
        "rating": 4,
        "count": 30
      },
      {
        "rating": 3,
        "count": 13
      },
      {
        "rating": 2,
        "count": 4
      },
      {
        "rating": 1,
        "count": 6
      }
    ],
    "items": [
      {
        "reviewId": "9000001",
        "author": "Sample User",
        "authorLocation": "aus Wien",
        "rating": 5,
        "date": "03.02.2025",
        "format": "eBook (ePUB 3)",
        "title": "Sample review title",
        "body": "Sample review text describing the reading experience."
      }
    ]
  }
}

Ways to use this data

  • Price and discount tracking: monitor a title, category, or the whole Schnäppchen collection for price drops and build a was-price history over time.
  • Bibliographic data feeds: pull ISBN, EAN, author, publisher, and format details into a catalog, metadata store, or library system.
  • Review and rating research: collect star distributions and full review text to study reader sentiment on specific titles or formats.
  • Competitive pricing analysis: compare current and discounted prices, formats, and availability against other book and media retailers.
  • Content and merchandising tools: build bestseller trackers, format comparison pages, or category based reading lists from search and category browses.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Thalia.de Scraper return?

The documented output for Thalia.de Scraper includes article no., title, author(s), price, currency, original / was price, discount % and on sale. Availability of each field depends on the source page and the selected mode.

How much does Thalia.de Scraper cost?

It costs $2.20 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed products on a schedule?

Yes. Turn on incrementalMode (see Incremental mode above) and schedule the actor from the Schedules tab. The first run returns every match as NEW; later runs return only NEW and UPDATED products with changedFields, and unchanged products are neither returned nor billed. ignoreFieldsForChanges excludes fields you do not care about.

What's the most common point of confusion?

That the filters (Specials only, Format/binding, price range, availability, sort) are not search only. In URL mode they still apply: pasting a category, search, or sale link rebuilds that listing request through your filter values, so you get the same filtered result. The one exception is a pasted product link, which always returns that single product regardless of any filter you set.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of each result into Notion, Linear, or Airtable.

Ready to collect with Thalia.de Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.