Change detection
Observing that something moved.
- Field-level change detection
- Content hashing for page-level change
- Threshold rules to suppress noise
- Restoration and revert detection
- First-seen and disappearance events
Change-driven collection, with latency you can actually verify.
Every vendor in this category says real time. Almost none defines it. Real time here means the interval between a change appearing on a source and the event reaching you, and it is bounded by how often the source can politely be polled — not by our infrastructure.
Free pilot on your own sources, returned in 24 hours. No card, no trial clock — and you keep the sample data either way.
Last verified 5 August 2026 by the Actowiz Solutions Data Engineering team.
A live crawler watches a defined set of entities and emits an event when a watched field changes. Instead of receiving a full dataset every morning, you receive a stream of changes as they are detected.
The word "real time" is used loosely in this category, so it is worth defining precisely. There are three separate intervals, and vendors usually quote only the last one.
A vendor quoting "sub-second real time" is usually describing the second and third intervals while staying quiet about the first. We report detection_window_s on every event and publish p50 and p95 monthly, because the first interval is the one that determines whether you can act.
Polling frequency, and polling frequency is bounded by politeness. Watching ten thousand entities at 30-second intervals is 20,000 requests per minute against a source. No responsible collection operates that way, and no source tolerates it for long.
So the honest design is tiered: a small priority set polled at sub-minute intervals, a larger set at several minutes, and the long tail hourly or daily. We size the priority tier with you based on which entities actually justify it — usually far fewer than the initial request.
If you need the full dataset rather than the changes, scheduled delivery is simpler and cheaper. If your response process runs daily anyway, sub-minute detection buys nothing. Events are worth their cost only when something acts on them quickly.
Event definition and tier design matter more than raw polling speed.
Observing that something moved.
Deciding what counts as an event.
Freshness proportional to value.
Getting the event to you, once.
The number nobody else publishes.
Because access is the constraint.
A managed engagement, not a tool licence. We own the pipeline and everything that breaks in it.
Every event carries the timing needed to verify latency yourself rather than trusting a headline figure.
| Field | Type | What it captures | Refresh |
|---|---|---|---|
event_id |
string | Idempotent event identity, so redelivery does not double-process | Every event |
event_type |
enum | price_change, stock_change, back_in_stock, new_listing, delisting, content_change, rank_change | Every event |
entity / source / field |
string | What changed, where, and which field moved | Every event |
old_value / new_value / delta_pct |
any / decimal | Prior and new values with a computed change where numeric | Every event |
observed_at / prev_observed_at |
timestamp | When we saw the new value and when we last saw the old one | Every event |
detection_window_s |
int | Seconds between the two observations, which bounds how stale the change could be | Every event |
emitted_at |
timestamp | When the event left our system, so processing time is separable from detection | Every event |
poll_interval_s / tier |
int / enum | The polling interval and latency tier that produced this event | Every event |
delivery |
object | Webhook delivery status, attempts and latency, for reliability auditing | Webhook mode |
suppressed_reason |
string | Where a change was observed but no event emitted, and why | When applicable |
oos_duration_minutes |
int | For back_in_stock events, how long the gap lasted | Stock events |
detection_window_s is the honest measure of how current an event is. A change that occurred just after our previous poll could be up to that many seconds old when we detect it, and we would rather you know the bound than trust a marketing latency figure.
Tier assignment is per entity, and the priority tier is deliberately small.
Sub-minute polling is only offered where a source tolerates it within our politeness limits. Where it does not, we say so and quote the achievable interval rather than promising a figure we cannot sustain. Request a source we don't list →
We deliver into 40+ countries. These are the markets where this particular service is requested most, and the reason demand concentrates there.
| Market | Why demand concentrates here |
|---|---|
| United States | The most competitive repricing environment, where same-hour response to competitor moves has measurable margin impact. |
| United Kingdom & European Union | Dense retail competition with heavy promotional activity, and strong demand for stock-out alerting tied to paid media. |
| India & GCC | Quick commerce and food delivery where availability changes hourly, making change events far more useful than daily snapshots. |
| Singapore & Australia | Marketplace sellers competing on Buy Box rotation where reaction time directly determines ownership share. |
We run production collection across 40+ countries. Coverage depth varies by market and by source, so we confirm what is actually available for your specific markets during scoping rather than claiming uniform global coverage. Ask about a market we don't list →
Teams with a fast response process. Where response is slow, scheduled delivery is the better buy.
Competitor price moves matter within hours, and a morning file means responding to yesterday's market.
Price change events on a priority SKU set with thresholds to suppress noise, delivered to your repricing engine.
Margin captured per move
An unbuyable listing with live paid traffic burns spend for as long as nobody notices.
Stock change and back-in-stock events with out-of-stock duration, so campaigns can pause within minutes.
Wasted media spend
Buy Box loss and competitor undercutting need reaction within the hour, not the day.
Buy Box ownership change and price undercut events on contested ASINs, with direction filters.
Buy Box ownership %
Competitor rate moves on compression dates need same-day response, and daily shopping misses them.
Rate change events on identified compression dates with threshold rules, tiered so cost stays proportionate.
RevPAR on peak dates
Tender publication starts a clock, and finding out late shortens the response window materially.
Notice publication events matched to your classification and value thresholds, pushed on publication.
Response window preserved
Polling an API on a loop is wasteful and still slower than being pushed to.
Signed webhook push with retry, dead letter and replay, so events arrive once and none are lost silently.
Alert latency
Four patterns, with the outcome each is judged on.
Price change events on a priority SKU set are pushed to the repricing engine with thresholds suppressing trivial movement, and each event carries its detection window so staleness is bounded.
Outcome: Response measured in minutes rather than in the gap between daily files.
Stock change events fire when a listing becomes unbuyable, so paid campaigns driving to it can pause within minutes instead of at the next reporting cycle.
Outcome: Spend stopped while listings are unbuyable rather than reconciled afterwards.
Buy Box ownership change and undercut events on contested listings are filtered by direction and threshold, avoiding an unreadable alert stream.
Outcome: Reaction on the listings where rotation actually costs revenue.
Tender notices, filings and new listings emit events on publication, matched to your criteria before delivery so relevance filtering happens upstream.
Outcome: Workflows starting at publication rather than at the next batch.
Clients rarely permit naming. These are real engagement shapes with identifying detail removed, so you can judge whether the work resembles your situation.
Competitor pricing arrived as a morning file, so decisions were made against a market that had already moved, particularly during promotional periods.
Change events on a priority SKU set with thresholds suppressing trivial movement, pushed to the repricing engine with detection windows recorded.
Response moved from next-day to same-hour on the SKUs where movement mattered commercially.
Campaigns continued running against retailer listings that had gone out of stock, and the gap was only discovered at the next reporting cycle.
Stock change events with out-of-stock duration, delivered by signed webhook with retry and replay into the campaign management workflow.
Campaigns paused within minutes of a listing becoming unbuyable rather than after the reporting cycle.
Examples are anonymised at client request. Named references are available on request under NDA. See published case studies →
Before you commit to anything, we run this service against your own sources and send you the output. If the coverage isn't there, the sample will show you that too — which is the point. We would rather lose the deal at the pilot than at month three.
Same collection pipeline and QA underneath. The difference is who holds the schedule and how the data reaches you.
We own the collection, the QA and the delivery. You receive clean data on a schedule and never touch a scraper.
Best fit: Teams who need the data, not the infrastructure.
The same collection pipeline exposed as an authenticated REST endpoint your systems query directly.
Best fit: Product and engineering teams building on live data.
A defined pull for a specific question — market sizing, diligence, a pitch, a one-off audit.
Best fit: Research, strategy and diligence work with a deadline.
Every engagement is quoted individually, because the honest answer depends on your scope: how many sources, how many records, how often, and how the data reaches you. We scope it with you, run a free pilot on your own sources, and then quote a fixed monthly figure — no per-request metering and no overage billing when volumes move. Request a quote and you will have a number after one call.
This is a question about your response process, not about data quality. Both come from the same pipelines.
| Consideration | In-house scraping team | Generic proxy / DIY tool | Actowiz managed feed |
|---|---|---|---|
| Time to first usable data | 6–12 weeks of engineering before anything is trustworthy | Days, but output needs manual cleanup before use | Free pilot in 24 hours, production in 5–10 business days |
| Who fixes it when a source changes | Your engineers, at the cost of their roadmap | You do — tools report failures, they don't resolve them | We do, same business day, inside the retainer |
| Data quality assurance | Whatever your team has time to build | None beyond HTTP success | Schema validation plus sampled human QA on every run |
| Compliance documentation | Rarely produced, then requested urgently by legal | Not provided; terms risk sits with you | Sources, method and lawful basis documented for review |
| Accountability | Distributed across a team with other priorities | A support ticket queue | A named engineer and an account owner |
| True annual cost | Engineer salaries, proxies, hosting, ongoing maintenance | Low licence fee plus significant hidden analyst time | One fixed monthly retainer, quoted after scoping |
The most common request we receive in this category is sub-minute monitoring across a large entity set. It is almost always the wrong specification, and the reason is arithmetic rather than technical.
Ten thousand entities at a 30-second poll interval is 20,000 requests per minute against the source, sustained. That is not polite collection, it is a load test. Sources block it, and correctly.
Meanwhile, the vast majority of those entities change rarely. Polling them every 30 seconds spends the entire budget confirming that nothing happened.
Every event records its tier and poll_interval_s, so you can see which latency applied. The design conversation is about which entities belong in the priority tier, and it usually shrinks the initial request by an order of magnitude while improving the outcome, because the priority budget goes where it changes a decision.
Change-driven collection fails in a predictable way, and it is not technical. The stream becomes unreadable, people stop reading it, and the project quietly dies while still running.
Thresholds per field, so a change must exceed a minimum to emit. Direction filters, so you can subscribe to decreases only. Oscillation damping, so a value flipping repeatedly emits once with a note rather than twenty times. Revert detection, so a change reversed inside a configurable window is marked rather than emitted as two events. Bulk-change detection, so a category-wide reprice arrives as a summarised event rather than three thousand individual ones.
Suppressed changes are still recorded with a suppressed_reason and available on request, so nothing is invisible — it simply does not interrupt you. The tuning happens during the pilot against your own thresholds, because what counts as noise is a commercial judgement rather than a technical one. For full-dataset needs alongside events, the same pipelines feed our API and file delivery.
Entity tiers, event definitions and thresholds are designed with you first, since tier sizing determines both cost and signal quality.
You send us target sites, regions, SKUs or keywords. We return a field-level schema proposal, coverage estimate and refresh recommendation — usually within two working days.
We extract a real sample from your actual targets so you can inspect field fill rates, edge cases and match quality before any commitment.
Our engineers build extractors, then wire validation rules: type checks, range checks, duplicate detection and golden-record comparison against a manually verified subset.
Feeds run at your chosen cadence and land in the warehouse or bucket you already use. Schema changes are versioned and announced before they ship.
We watch coverage drift, fill rates and source changes daily. A named engineer owns your account, and layout breaks are fixed by us — not queued for you.
Signed webhook push, message stream consumption, or API polling. Event payloads in JSON. Full-dataset delivery in files or via API remains available in parallel for the same entities.
Change detection operates on the same publicly-sourced collection under the same boundaries as our other services. Poll intervals are floored per source to stay within politeness limits, request rates are capped per host, and we back off on errors rather than pushing through them. Achievable intervals are quoted per source rather than promised generically.
These are contractual, not marketing copy. They appear in the engagement document.
| Commitment | What we hold ourselves to |
|---|---|
| Pilot turnaround | A real sample from your own sources within 24 hours of scoping, at no cost. |
| Go-live | Production collection running within 5–10 business days of sign-off. |
| Delivery punctuality | 99.5% on-schedule delivery, measured monthly and reported to you. |
| Breakage response | Source layout changes triaged same business day; critical sources inside 4 hours. |
| Data quality | Schema validation on every run plus sampled human QA before any delivery leaves us. |
| Escalation | A named engineer and an account owner, not a shared ticket queue. |
| Change requests | Field additions and source changes handled inside the retainer, not re-quoted. |
| Exit | Your historical data exported in full on request. No lock-in, no export fee. |
Plain definitions of the terms used on this page, so procurement and legal reviewers are working from the same vocabulary as your data team.
What pricing, trading and operations teams ask during evaluation.
Three intervals, and vendors usually quote only the smallest two. Change-to-detection is bounded by poll interval and is by far the largest. Detection-to-emission is typically under a second. Emission-to-delivery is a few hundred milliseconds.
We report detection_window_s on every event and publish p50 and p95 monthly, because the first interval is the one that determines whether you can act. A vendor quoting sub-second real time is describing their internals, not your latency.
No, and no responsible provider can. Ten thousand entities at 30-second intervals is 20,000 requests per minute against a source, sustained — that is a load test, and sources block it.
The design is tiered: a small priority set at sub-minute intervals, a working set at several minutes, the long tail hourly or daily. Tier sizing is the main scoping conversation and it usually shrinks the initial ask substantially while improving the result.
Thresholds per field so trivial movements do not emit, direction filters so you can take decreases only, oscillation damping, revert detection within a configurable window, and bulk-change summarisation so a category-wide reprice arrives as one event rather than three thousand.
Suppressed changes are still recorded with a suppressed_reason and available on request. Nothing is invisible; it just does not interrupt you. Tuning happens during the pilot against your thresholds.
Exponential backoff retry, then a dead letter store you can replay from. Event IDs are idempotent so redelivery does not double-process, and the delivery object records attempts and latency for auditing.
Silent event loss is the worst outcome in an event system, so we prefer at-least-once delivery with idempotency over at-most-once. Your consumer should be idempotent on event_id.
Not better, different, and it depends entirely on your response process. If nobody acts on a change within hours, sub-minute detection buys nothing and scheduled files are simpler and cheaper.
Events earn their cost when something acts quickly — a repricing engine, a campaign pause, a bid team. Many clients run both: events on the priority tier, scheduled files for the full dataset and analytics.
Yes, as event types. New listing appearance fires on first observation. Delisting requires confirmed absence across polls before emitting, because a single missed fetch is not a delisting.
That confirmation requirement adds latency to delisting events deliberately. Emitting a delisting on one absent poll would produce constant false positives from transient errors, which is worse than being a few polls slower.
Fewer than clients expect. It depends on the source's tolerance and our politeness floor per host. Some large sites sustain it on a small entity set; many do not.
We assess this per source during scoping and quote the achievable interval rather than a generic figure. Where sub-minute is not sustainable, saying so upfront is better than promising it and delivering minutes with an excuse.
Yes, and most clients do. The same pipelines feed events, API responses and scheduled files. Events handle the fast path; files handle the full population and analytics.
Running both on one contract also means the event stream and the dataset agree, which is not guaranteed when they come from different vendors with different collection times.
We quote individually, driven almost entirely by priority-tier size multiplied by poll frequency. The long tail is comparatively cheap; the sub-minute tier is where cost concentrates.
A focused priority set with tiered standard and long-tail coverage sits at the lighter end. Large priority tiers at sub-minute intervals sit considerably higher, and are usually not the right design. One scoping call, a free pilot stream on your own entities within 24 hours with latency percentiles reported, then a fixed monthly quote. Request a quote.
Send us a priority entity set and the changes you care about. We run a real stream and report p50 and p95 detection windows within 24 hours.
Free pilot, no card, no obligation. Latency percentiles are the deliverable — judge us on those, not on a claim.Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Unlock retail insights with Noon Saudi Arabia Product Data Extraction to track prices, inventory, discounts, and product trends in real time.
B2B Flight Booking Platform Using Trip.com Price & Availability Data to deliver real-time fares, flight availability, and smarter corporate booking.
Get a Phu Quoc Hotel Pricing & Availability Benchmark Report to compare hotel rates, availability, competitors, and market trends for smarter pricing.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.