# Squarespace Website Leads Scraper & Email Finder (`wishful_knowledge/squarespace-website-leads-scraper`) Actor

Find Squarespace website leads and extract public business emails, social links, tech stack signals, and outreach scores for agencies.

- **URL**: https://apify.com/wishful\_knowledge/squarespace-website-leads-scraper.md
- **Developed by:** [sanfeng zhang](https://apify.com/wishful_knowledge) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Squarespace Website Leads Scraper & Email Finder

Find and score Squarespace websites for design, SEO, booking, ecommerce, analytics, and service-business agency outreach.

This Actor analyzes public websites only. It extracts business contact signals, detects website technology, and ranks each lead for practical B2B outreach.

### Fast start

Paste known Squarespace website URLs or rows from a lead list:

```json
{
  "startUrls": ["https://example-squarespace-site.com"],
  "includeSearchDiscovery": false,
  "requireTargetPlatform": true,
  "requireBusinessEmail": true,
  "includePhones": false,
  "includePersonalEmails": false,
  "minOpportunityScore": 40,
  "maxSites": 1,
  "maxPagesPerSite": 5
}
````

### Example output

Each saved row is a Squarespace-confirmed website lead:

```json
{
  "domain": "example-squarespace-site.com",
  "targetPlatform": "squarespace",
  "emails": ["hello@example-squarespace-site.com"],
  "socials": { "instagram": ["https://www.instagram.com/example"] },
  "techSignals": { "platform": ["Squarespace"], "analytics": ["Google Analytics"] },
  "opportunityScore": 63,
  "suggestedAngles": ["SEO audit", "Website migration outreach"]
}
```

### Best for

- Squarespace redesign prospecting
- Local service business website outreach
- SEO and analytics audit lead lists
- Creative agency prospecting
- Website migration prospect lists

### What it extracts

- Squarespace platform confirmation signals
- Public business role emails
- Public social profile links
- Analytics, pixel, CRM, and support stack signals
- Contact/about/support links
- Outreach score, pain points, and suggested angles

### Quality defaults

- `requireBusinessEmail=true`: only save contactable leads by default.
- `includePersonalEmails=false`: filter individual-looking emails by default.
- `includePhones=false`: phone extraction is off by default.
- `respectRobotsTxt=true`: skip disallowed paths when enabled.
- `minOpportunityScore=40`: avoid charging users for weak results.
- `requireTargetPlatform=true`: only save websites with Squarespace website signals by default.

### Input

Use one or more of these:

- `startUrls`: known website URLs or domains.
- `apifyDatasetId`: optional Apify dataset ID or Console dataset URL, useful for Google Maps Scraper exports or other lead lists.
- `sourceItems`: optional JSON rows with fields such as `website`, `websiteUrl`, `url`, `domain`, or `homepage`.
- `queries` with `includeSearchDiscovery=true`: best-effort public search discovery.

### Pricing

Suggested launch pricing: USD 0.01 per saved Squarespace website lead.

Websites that fail the email, score, or platform filter are counted in `RUN_SUMMARY`, but are not saved as paid dataset leads by default.

### Local run

```powershell
node .\src\main.js --input .\sample-input.json
```

### Compliance

This Actor only analyzes public web pages. It does not log in, bypass paywalls, collect private account data, or scrape personal social profiles beyond public links already shown on websites. Conservative defaults avoid phone extraction and individual-looking email addresses.

### Keywords

Squarespace leads, Squarespace website leads, Squarespace website scraper, Squarespace email finder, Squarespace contact extractor, Squarespace agency prospecting, website redesign leads, local business website leads, business email finder, SEO audit leads, tech stack detector.

# Actor input Schema

## `queries` (type: `array`):

Search terms used to discover candidate Squarespace website websites when search discovery is enabled.

## `startUrls` (type: `array`):

Known Squarespace website websites or domains to analyze directly.

## `apifyDatasetId` (type: `string`):

Optional dataset ID or Console dataset URL. Useful for Google Maps Scraper exports or other website lists that contain website/domain fields.

## `sourceItems` (type: `array`):

Optional JSON rows from a lead list. The Actor looks for website, websiteUrl, url, domain, site, homepage, or businessWebsite fields.

## `includeSearchDiscovery` (type: `boolean`):

When enabled, the Actor uses best-effort public HTML search pages to find candidate websites from the search queries.

## `requireTargetPlatform` (type: `boolean`):

When enabled, only websites with detected Squarespace website platform signals are saved.

## `includePhones` (type: `boolean`):

When enabled, extracts public phone and WhatsApp numbers shown on website pages.

## `includePersonalEmails` (type: `boolean`):

When disabled, keeps only generic business role emails such as info@, support@, sales@, and hello@.

## `requireBusinessEmail` (type: `boolean`):

When enabled, only websites with at least one public business role email are saved to the dataset.

## `minOpportunityScore` (type: `integer`):

Only records with this score or higher are saved to the dataset.

## `maxSites` (type: `integer`):

Maximum number of unique website domains to analyze.

## `maxSearchResultsPerQuery` (type: `integer`):

Maximum candidate URLs to collect from each query.

## `maxPagesPerSite` (type: `integer`):

Maximum public pages to fetch from each website, including homepage, contact, about, support, and policy pages.

## `requestDelayMs` (type: `integer`):

Delay between requests, in milliseconds.

## `timeoutSecs` (type: `integer`):

Timeout for each HTTP request.

## `respectRobotsTxt` (type: `boolean`):

Skips paths disallowed for generic crawlers by robots.txt when enabled.

## `userAgent` (type: `string`):

HTTP User-Agent header used for requests.

## Actor input object example

```json
{
  "queries": [
    "site:squarespace.com contact email business",
    "squarespace website contact email service business"
  ],
  "startUrls": [
    "https://www.squarespace.com"
  ],
  "apifyDatasetId": "",
  "sourceItems": [],
  "includeSearchDiscovery": false,
  "requireTargetPlatform": true,
  "includePhones": false,
  "includePersonalEmails": false,
  "requireBusinessEmail": true,
  "minOpportunityScore": 40,
  "maxSites": 25,
  "maxSearchResultsPerQuery": 10,
  "maxPagesPerSite": 5,
  "requestDelayMs": 750,
  "timeoutSecs": 15,
  "respectRobotsTxt": true,
  "userAgent": "Mozilla/5.0 (compatible; SquarespaceWebsiteLeadsScraper/0.1; +https://apify.com/)"
}
```

# Actor output Schema

## `leads` (type: `string`):

Websites that passed the opportunity score and business email filters.

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

Counts, filtering decisions, and cost-control information for the run.

# 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 = {
    "queries": [
        "site:squarespace.com contact email business",
        "squarespace website contact email service business"
    ],
    "startUrls": [
        "https://www.squarespace.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("wishful_knowledge/squarespace-website-leads-scraper").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 = {
    "queries": [
        "site:squarespace.com contact email business",
        "squarespace website contact email service business",
    ],
    "startUrls": ["https://www.squarespace.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("wishful_knowledge/squarespace-website-leads-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "site:squarespace.com contact email business",
    "squarespace website contact email service business"
  ],
  "startUrls": [
    "https://www.squarespace.com"
  ]
}' |
apify call wishful_knowledge/squarespace-website-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=wishful_knowledge/squarespace-website-leads-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Squarespace Website Leads Scraper & Email Finder",
        "description": "Find Squarespace website leads and extract public business emails, social links, tech stack signals, and outreach scores for agencies.",
        "version": "0.1",
        "x-build-id": "n44cgqrzMiYwZBYck"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/wishful_knowledge~squarespace-website-leads-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-wishful_knowledge-squarespace-website-leads-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/wishful_knowledge~squarespace-website-leads-scraper/runs": {
            "post": {
                "operationId": "runs-sync-wishful_knowledge-squarespace-website-leads-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/wishful_knowledge~squarespace-website-leads-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-wishful_knowledge-squarespace-website-leads-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "queries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Search terms used to discover candidate Squarespace website websites when search discovery is enabled.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Seed website URLs",
                        "type": "array",
                        "description": "Known Squarespace website websites or domains to analyze directly.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "apifyDatasetId": {
                        "title": "Apify dataset ID or URL",
                        "type": "string",
                        "description": "Optional dataset ID or Console dataset URL. Useful for Google Maps Scraper exports or other website lists that contain website/domain fields.",
                        "default": ""
                    },
                    "sourceItems": {
                        "title": "Source business rows",
                        "type": "array",
                        "description": "Optional JSON rows from a lead list. The Actor looks for website, websiteUrl, url, domain, site, homepage, or businessWebsite fields.",
                        "default": []
                    },
                    "includeSearchDiscovery": {
                        "title": "Discover URLs from search",
                        "type": "boolean",
                        "description": "When enabled, the Actor uses best-effort public HTML search pages to find candidate websites from the search queries.",
                        "default": false
                    },
                    "requireTargetPlatform": {
                        "title": "Require Squarespace website signal",
                        "type": "boolean",
                        "description": "When enabled, only websites with detected Squarespace website platform signals are saved.",
                        "default": true
                    },
                    "includePhones": {
                        "title": "Include public phone and WhatsApp numbers",
                        "type": "boolean",
                        "description": "When enabled, extracts public phone and WhatsApp numbers shown on website pages.",
                        "default": false
                    },
                    "includePersonalEmails": {
                        "title": "Include individual-looking emails",
                        "type": "boolean",
                        "description": "When disabled, keeps only generic business role emails such as info@, support@, sales@, and hello@.",
                        "default": false
                    },
                    "requireBusinessEmail": {
                        "title": "Require business email for saved leads",
                        "type": "boolean",
                        "description": "When enabled, only websites with at least one public business role email are saved to the dataset.",
                        "default": true
                    },
                    "minOpportunityScore": {
                        "title": "Minimum opportunity score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only records with this score or higher are saved to the dataset.",
                        "default": 40
                    },
                    "maxSites": {
                        "title": "Max sites",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Maximum number of unique website domains to analyze.",
                        "default": 25
                    },
                    "maxSearchResultsPerQuery": {
                        "title": "Max search results per query",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum candidate URLs to collect from each query.",
                        "default": 10
                    },
                    "maxPagesPerSite": {
                        "title": "Max pages per site",
                        "minimum": 1,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Maximum public pages to fetch from each website, including homepage, contact, about, support, and policy pages.",
                        "default": 5
                    },
                    "requestDelayMs": {
                        "title": "Request delay",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Delay between requests, in milliseconds.",
                        "default": 750
                    },
                    "timeoutSecs": {
                        "title": "Request timeout",
                        "minimum": 5,
                        "maximum": 60,
                        "type": "integer",
                        "description": "Timeout for each HTTP request.",
                        "default": 15
                    },
                    "respectRobotsTxt": {
                        "title": "Respect robots.txt",
                        "type": "boolean",
                        "description": "Skips paths disallowed for generic crawlers by robots.txt when enabled.",
                        "default": true
                    },
                    "userAgent": {
                        "title": "User agent",
                        "type": "string",
                        "description": "HTTP User-Agent header used for requests.",
                        "default": "Mozilla/5.0 (compatible; SquarespaceWebsiteLeadsScraper/0.1; +https://apify.com/)"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
