Ticimax Store Scraper | Products and Prices avatar

Ticimax Store Scraper | Products and Prices

Pricing

from $1.00 / 1,000 products

Go to Apify Store
Ticimax Store Scraper | Products and Prices

Ticimax Store Scraper | Products and Prices

Give a Ticimax store domain and get the catalogue: prices, discounts, stock, variants, SKUs, barcodes and images. No browser. Changes-only mode returns new, changed and removed products for daily price monitoring.

Pricing

from $1.00 / 1,000 products

Rating

0.0

(0)

Developer

Atesen Software

Atesen Software

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape any online store built on Ticimax, the Turkish e-commerce platform used by about 9,500 shops. Give it a domain like accort.com.tr and get the whole catalogue as JSON, CSV or Excel: prices, discounts, stock, SKUs, barcodes, brands, categories and images. For price & stock monitoring, turn on changes only and schedule it to get just the new, changed and removed products.

  • Works on every Ticimax storefront: products are found through the store's sitemap and read from the data Ticimax embeds in each product page.
  • No browser, no login, no proxy. Fast and cheap (256 MB is enough).
  • Checks that each site really runs on Ticimax. Other sites get a free not_ticimax status row.
  • Ticimax pages carry the full product model, so you also get per-variant stock, barcodes, prices and size/colour options.

Use cases

  • Competitor price monitoring for brands and retailers on Ticimax (schedule it daily or weekly).
  • Stock, discount and assortment tracking: new products, sold-out items, campaigns.
  • Catalogue export / migration from a Ticimax store (with SKU and barcode).
  • Market research across many Turkish online shops; MAP / price-policy checks for distributors.

How do I know a store runs on Ticimax?

Usually images load from static.ticimax.cloud and pages are rendered by Ticimax. You don't have to check yourself: put any domain in and the scraper tells you.

Input

FieldDescription
storesStore domains or URLs (accort.com.tr, https://www.1001fidan.com)
productUrlsIndividual product URLs, to track specific products
maxProductsPerStoreDefault 100; 0 = whole catalogue
includeDescriptionAdd the product description (plain text)
maxConcurrencyParallel page loads per store (default 3)
changesOnlyOff by default. On: save only new, changed and removed products since the previous run; unchanged ones are free (see Price & stock monitoring)
monitorKeyOptional name of the watch list; empty = derived from the input
{
"stores": ["accort.com.tr", "1001fidan.com"],
"maxProductsPerStore": 100
}

Output

One row per product (type: "product"):

FieldDescription
store, platform, urlStore domain, Ticimax, product page
productId, sku, barcodeIdentifiers
name, brand, categoriesProduct info (category path from root to leaf)
priceCurrent selling price, VAT included (discounted price when there is one)
originalPrice, discountPercentCrossed-out list price and discount, when the shop shows one
currencyUsually TRY
inStock, totalStockAvailability and stock quantity when the store publishes it
imageUrl, imageUrlsProduct images
variantCount, variantsVariants (options, SKU, barcode, price, stock) where the platform exposes them
descriptionOnly with includeDescription

Prices are what a visitor of the store sees. Some shops show different currencies to visitors from abroad; check currency.

Status rows

The run doesn't fail on bad input. Problems become rows with type: "status" and are never charged:

statusmeaning
invalid_inputNo stores or product URLs given
invalid_urlNot a valid domain or URL
unreachable / failedThe site could not be loaded
not_ticimaxThe site or page does not run on Ticimax
no_productsThe store's sitemap has no live product pages
not_foundThe product URL returns 404
not_a_productA Ticimax page that is not a product page
blockedThe shop showed a bot challenge; try again later

Use the Products and Status rows views in the dataset tab. RUN_SUMMARY in the key-value store has the counts.

Price & stock monitoring

Turn on Changes only (changesOnly: true) and schedule the Actor. Each run is compared with the previous run of the same input (or the same Monitor name, monitorKey), and only what changed is saved. Unchanged products are not saved and not charged; new and changed products cost the normal per-product price.

changeTypeMeaningCharged
newfirst time this product is seen (every product on the first run)yes, as a normal product
price_changedprice went up or down, also per variant (previousPrice, priceChange, priceChangePercent)yes
unavailablestill listed but sold out — temporarily unavailableyes
back_in_stocksold out last time, buyable againyes
stock_changedstock quantity changed, or a variant sold out / came backyes
variants_changeda variant (size, colour) was added or removedyes
removedproduct is gone: its page returns 404 (removedReason: not_found), or it was missing from the store's sitemap or a fully crawled store two runs in a row (not_listed)free
unchangednot savedfree

Every changed row keeps all the normal product fields and adds changeType, a changes list (e.g. {"field": "price", "from": 1299, "to": 1149}), previousPrice, priceChange, priceChangePercent, previousInStock, previousSeenAt and firstSeenAt. Products are matched by store + the platform's stable product ID (productId; variants by variantId), so a renamed product is not reported as new. A product that could not be loaded in one run (timeout, block) is never reported as removed. The Changes view in the Output tab shows just these columns; the run summary (RUN_SUMMARY) counts new, changed, unchanged and removed products.

Schedule example — every morning, get only the price and stock changes:

{
"stores": ["accort.com.tr"],
"maxProductsPerStore": 0,
"changesOnly": true,
"monitorKey": "accort-daily"
}

Save the input as a task, then in Apify Console open Schedules → Create new, set cron 0 7 * * * (07:00 every day) and add the task. Connect a webhook, Google Sheets or Slack integration to receive only the changes. Use maxProductsPerStore: 0 (whole store) for complete removal detection; with a limit, the same first products of the sitemap are compared. Keep the input the same between runs: a different input or monitor name starts a new watch list (all products new again).

Pricing

Pay per event: $0.001 per product saved (that's $1 per 1,000 products), plus a tiny actor-start fee. Status rows are free.

Tips

  • Start with maxProductsPerStore: 20 to check a store, then raise it or set 0 for the full catalogue.
  • To monitor prices and stock, schedule the actor with Changes only on: you get (and pay for) only what changed.
  • Keep maxConcurrency low (2–4) for small shops.

This actor reads only public product pages and sitemaps, like a regular visitor. Please respect each shop's terms and scrape at a reasonable pace.

FAQ

Which stores work? Public Ticimax storefronts. Paste the domain. A store that is not Ticimax becomes a free status row and the run still succeeds.

How do I monitor price and stock? Turn on changesOnly and reuse the same monitorKey.

What does the first run return? The saved example reads two real Ticimax stores and returns product rows with price, stock, SKU and URL.