Commerce Stack Evidence Checker avatar

Commerce Stack Evidence Checker

Pricing

from $5.00 / 1,000 completed homepage checks

Go to Apify Store
Commerce Stack Evidence Checker

Commerce Stack Evidence Checker

Check up to 100 public website homepages for Shopify, WooCommerce, GA4, GTM and six more commerce tools. Get page evidence, JSON/CSV results and changes from previous checks. HTML only; no JavaScript rendering.

Pricing

from $5.00 / 1,000 completed homepage checks

Rating

0.0

(0)

Developer

SailingGao

SailingGao

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Check Shopify, WooCommerce, analytics, pixels, chat, and review tools—with evidence for each match.

Review up to 100 public website homepages per run. Built for ecommerce agencies and website service providers checking a client-supplied website list. Get JSON and CSV results, then compare a later check with your saved baseline to spot changes in observed signals.

What it checks

Shopify, WooCommerce, Google Analytics 4 (GA4), Google Tag Manager (GTM), Meta Pixel, Klaviyo, Gorgias, Intercom, Judge.me, and Yotpo.

The Actor examines the homepage's HTTP response for recognized scripts, assets, metadata, and integration configuration. It returns a timestamp, final URL, check status, and supporting evidence for each detected technology. It checks the initial HTML; it does not execute JavaScript or confirm that an integration is working.

Use it to prepare website audit reports, review a list before a client call, or compare scheduled snapshots. A result is a starting point for an evidence-based review, not a complete inventory of everything a website uses.

Quick start

  1. Enter your public website URLs in Public website URLs.
  2. Optionally add an earlier JSON output to Previous results.
  3. Set your maximum run charge, then start the Actor.
  4. Open JSON results, CSV evidence, and Completion and billing summary in the run output.
{
"urls": ["https://www.allbirds.com/"],
"previousResults": []
}

This example checks a real public homepage. Its content and detected signals can change between runs.

Supply 1–100 URLs. Paths, query strings, and fragments are discarded; the Actor checks the homepage once per unique hostname. For example, two product URLs on store.example.com become one homepage check. example.com and www.example.com remain separate hostnames. An invalid or explicitly non-public input rejects the input before any homepage checks begin. Private network destinations and redirects to them are blocked.

Understand the results

Field and valueMeaning
Overall status: completedThe homepage response was retrieved and parsed within the check limits. It can contain zero detected technologies.
Overall status: unknownThe check could not be completed. The error field explains why.
Technology status: foundThe response contains a recognized signal for that technology. Inspect its evidence.
Technology status: not_observedNo supported signal was found in this response. This does not establish that the technology is absent.
Technology status: unknownThe check could not determine whether the technology is present.

JSON contains one result per checked hostname and ten technology entries per result. Each evidence item includes its type, a sanitized description of the matched signal, and the page URL. Account and tracking IDs are redacted; full HTML is not included in the delivered results.

For example, a saved Allbirds homepage response contained the Shopify configuration summarized by this evidence entry:

{
"name": "Shopify",
"status": "found",
"evidence": [
{
"kind": "inline_signature",
"value": "Shopify.shop = '[store-redacted].myshopify.com'",
"source_url": "https://www.allbirds.com/"
}
]
}

This is an excerpt from a local check on September 13, 2026, not a claim about the site's current state. A full result also includes input_url, final_url, checked_at, http_status, source_sha256, result_id, and changes.

CSV contains one row per website–technology pair, so one completed homepage produces ten CSV rows. You pay per completed homepage, not per technology or CSV row.

Compare repeat checks

Save the JSON results array and supply it as previousResults on a later run. The comparison reports newly_observed, no_longer_observed, or unknown changes. No longer observed does not mean uninstalled. A blocked or incomplete check cannot establish removal.

Keep your last completed baseline when a website temporarily returns unknown. An independent new run is a new check and can incur new charges.

Pricing and spending limits

EventPrice
Completed homepage check (domain-check)$0.005 each — $5 per 1,000
Actor startup (apify-actor-start)$0.00005 per startup event

Platform usage is included in this Actor's event price. A normal run with 100 completed unique homepage checks and one startup event costs $0.50005 in event fees. The Actor's Pricing tab is authoritative.

An unknown, incomplete, or unprocessed homepage has no completed-check charge. A successfully parsed homepage with no detected technologies is still a completed, chargeable check. The startup event can apply even when no homepage check completes.

Set a maximum run charge in Apify, or use maxTotalChargeUsd through the API. For example, $0.55 covers 100 completed checks and one startup at these prices. This is a per-run limit, not a monthly spending limit. The Actor stops further work when its charge budget is exhausted; partial output can include completed rows that were not charged. billable: true means eligible for charging, not proof that a charge succeeded.

API and n8n

Use the Actor's API tab or the Apify run API. The Actor ID is MUyHYSDDeQjXdbfBA.

POST https://api.apify.com/v2/actors/MUyHYSDDeQjXdbfBA/runs?memory=256&timeout=900&maxTotalChargeUsd=0.55&restartOnError=false
Authorization: Bearer YOUR_APIFY_TOKEN
Content-Type: application/json

Send the input JSON above as the request body. Save the returned run ID, then poll GET /v2/actor-runs/{runId}. When the run succeeds, use its defaultKeyValueStoreId to download these key-value store records:

RecordContents
OUTPUTCanonical JSON results array
OUTPUT.csvCSV evidence rows
SUMMARYCompleted, unknown, and unprocessed counts, stop reason, and billing phases

The record URL is https://api.apify.com/v2/key-value-stores/{storeId}/records/{record}. Send the same authorization header. Keep tokens in your credential store, outside URLs and workflow exports.

For n8n, use Schedule Trigger → HTTP Request to start once → Wait and poll the run → HTTP Request to read OUTPUT. Save the previous completed results in your own workflow or storage and pass them to the next run. Check SUMMARY as well as the platform's run status: a finished process can have partial results.

If a start request times out, check the existing run list before starting again. If a run is interrupted, inspect its saved output and individual RESULT-* records before retrying. Uncertain charging outcomes stop processing and are not automatically charged again. The dataset is a convenient view, but append retries can duplicate rows and interruption can leave it incomplete; use OUTPUT for integrations.

Scope and limitations

  • Static evidence, not execution: a script reference or configuration can remain after a service is disabled, or occur in a branch that never runs. A match does not prove an active subscription, successful tracking, or a working integration.
  • Homepage only: product-page integrations, server-side tracking, and tools loaded only after navigation may be missed.
  • No browser rendering: consent-triggered tags, dynamically injected scripts, custom proxies, obfuscated code, and unrecognized vendor changes can be missed. GA4 and GTM are separate checks; one does not imply the other.
  • Explicit access failures: robots restrictions, access blocks, timeouts, unsupported response formats or compression, and size or parsing limits return unknown. The Actor does not log in or bypass these restrictions.

For a support request, include the run ID, affected public URL, and the signal you expected versus the result you received. Include a short relevant page-code excerpt if available; do not share API tokens or private account details.