# Website Action Stack Detector: Public Signals (`getascraper/website-action-stack-detector`) Actor

Detect supported public booking, payment, commerce, form, and chat provider signals. Return evidence and confidence for review. Signals do not confirm active customer usage, buying intent, or vendor relationships.

- **URL**: https://apify.com/getascraper/website-action-stack-detector.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.63 / 1,000 action signals

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🧭 Website Action Stack Detector: Public Signals

<table width="100%" style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:24px 28px;background:#F0FDFA;border:1px solid #99F6E4;border-top:4px solid #0F766E;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#134E4A;line-height:1.3">See supported action providers behind public pages.</span><br>
<span style="font-size:15px;color:#334155;line-height:1.6">Find recognized booking, payment, commerce, form, and chat provider signatures. Each current-run result includes the public evidence that produced it.</span>
</td>
</tr>
</table>

<table width="100%" style="display:table;width:100%;border-collapse:collapse;table-layout:fixed">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #99F6E4;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#115E59">🧭 Provider signatures</span><br>
<span style="font-size:12px;color:#334155">Find the supported providers this Actor recognizes.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#115E59">🧾 Public evidence</span><br>
<span style="font-size:12px;color:#334155">Review the matched evidence for every provider.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#115E59">🚦 Scan status</span><br>
<span style="font-size:12px;color:#334155">Understand when a page could not be inspected.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #99F6E4;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#115E59">📍 Current results</span><br>
<span style="font-size:12px;color:#334155">Use a stateless scan for a fresh public view.</span>
</td>
</tr>
</table>

Find supported, evidence-backed booking, payment, commerce, form, and chat provider signals on public pages. Each result includes the public evidence that produced the signal.

### 🎯 What it does

The Actor checks declared public pages and their robots rules. It detects supported provider signatures and returns structured evidence plus status records for pages that cannot be inspected.

### 👥 Who it is for

- Agencies reviewing public conversion tooling across an owned prospect list.
- Researchers building a website implementation-evidence dataset.
- Teams that need a review queue for supported booking, payment, commerce, form, or chat signals.

### ⚙️ How it works

<table width="100%" style="display:table;width:100%;border-collapse:collapse;table-layout:fixed">
<tr>
<td style="padding:16px 14px;width:33%;background:#F0FDFA;border:1px solid #99F6E4;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#134E4A">Add public pages</span><br>
<span style="font-size:12px;color:#334155">Provide the website URLs to inspect.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#F0FDFA;border:1px solid #99F6E4;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#134E4A">Set the page limit</span><br>
<span style="font-size:12px;color:#334155">Choose how many direct page checks to run.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#F0FDFA;border:1px solid #99F6E4;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#134E4A">Review the matches</span><br>
<span style="font-size:12px;color:#334155">Check each provider and its public evidence.</span>
</td>
</tr>
</table>

### 🧾 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Public website URLs | Array | No | One to fifteen public HTTP(S) pages. Robots rules are checked first. |
| Maximum pages this run | Number | No | Limits direct public-page requests in this run. |

### 📊 Output

| Field | Type | Description |
| --- | --- | --- |
| actionType | String | `booking`, `checkout_payment`, `commerce`, `forms_crm`, or `chat`. |
| provider | String | Supported detected provider. |
| evidenceType | String | Public evidence source. |
| evidence | String | Matched public implementation evidence. |
| confidence | String | Confidence assigned to the public signal. |
| pageUrl | URL | Inspected page URL. |
| scanStatus | String | Status record for the page inspection. |

### 💡 Good to know

- Supported providers are Calendly, Acuity Scheduling, Stripe, PayPal, Square, Shopify, WooCommerce, HubSpot, Typeform, Jotform, Intercom, Drift, and Tawk.to.
- This is a stateless detector. It does not monitor additions or removals across time.
- The results do not parse generic CTA text, selectors, phone numbers, email addresses, or outbound links.

### 💰 Pricing

This Actor uses pay per result. Empty runs do not create result charges. Begin with a small set of public pages and review the evidence.

### ⭐ Enjoying Website Action Stack Detector?

<table width="100%" style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:20px 24px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-left:5px solid #0F766E;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px;color:#B45309">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#134E4A">Did a public provider signal make your review faster?</span><br>
<span style="font-size:14px;color:#334155">A 5-star rating takes 10 seconds and helps agencies and researchers find this detector. Your feedback guides future improvements.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0F766E;border:1px solid #99F6E4;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/website-action-stack-detector/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

**Does it detect every conversion tool?** No. It detects only the supported providers listed above.

**Does a detected provider prove active use?** No. It is evidence found on a public page and needs review.

**Why did a page return a status row?** Robots rules, availability, or page content may have prevented a supported detection.

**Does it send change alerts?** No. Use it as a current public-page detector.

### 🔗 Other actors

- [Website Technology Change Monitor](https://github.com/Devansh-365/actorstack/tree/main/actors/website-technology-change-monitor)
- [SaaS Pricing Change Monitor](https://github.com/Devansh-365/actorstack/tree/main/actors/saas-pricing-change-monitor)
- [Shopify Store Product Monitor](https://github.com/Devansh-365/actorstack/tree/main/actors/shopify-store-product-monitor)
- [WooCommerce Store Monitor](https://github.com/Devansh-365/actorstack/tree/main/actors/woocommerce-store-monitor)

# Actor input Schema

## `targetUrls` (type: `array`):

Public HTTP(S) pages to inspect for evidence-backed booking, payment, commerce, form, CRM, and chat providers.

## `maxPages` (type: `integer`):

Bound the direct public-page requests made in this run.

## Actor input object example

```json
{
  "targetUrls": [
    {
      "url": "https://www.apify.com/"
    }
  ],
  "maxPages": 5
}
```

# Actor output Schema

## `actionEvidence` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "targetUrls": [
        {
            "url": "https://www.apify.com/"
        }
    ],
    "maxPages": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/website-action-stack-detector").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "targetUrls": [{ "url": "https://www.apify.com/" }],
    "maxPages": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/website-action-stack-detector").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "targetUrls": [
    {
      "url": "https://www.apify.com/"
    }
  ],
  "maxPages": 5
}' |
apify call getascraper/website-action-stack-detector --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/website-action-stack-detector"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/TeebvdU7oHQowe0Y6/builds/atS4Q6JYt8o9fHPZZ/openapi.json
