# Niche Website Finder — Shopify Storefront Search (`intelscrape/niche-website-finder`) Actor

Find niche Shopify storefronts by keyword. Returns store URL + domain. PPE: start ~$0.005 + ~$0.02 per storefront + shopify-verified $0.002 when /products.json or meta.json verify succeeds (or demo fixtures). SoftCTA mesh to Shopify Owner Email / Contact Info / B2B.

- **URL**: https://apify.com/intelscrape/niche-website-finder.md
- **Developed by:** [IntelScrape](https://apify.com/intelscrape) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 dataset items

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

## Niche Website Finder — Shopify Storefront Search

![Actor Banner](https://api.apify.com/v2/key-value-stores/PyvJzfQg02FD3RYhd/records/niche-website-finder-banner.png)

> 🇨🇳 **中文简介 (Chinese — China & Singapore):**
> 还在靠 Google 手工翻 Shopify 独立站？本 Actor 按利基关键词批量找出公开的 Shopify 店面，返回商店 URL、域名，以及可导出的清单，方便继续做邮件/联系人挖掘。按交付结果计费（启动 $0.005 + 每条 $0.02），无需自备 API Key——适合跨境电商调研、B2B 获客与代理团队。现在就在 Apify 试跑，把 URL 导出到表格，或接到 **Shopify Owner Email** 做联系人enrich。

> 🇸🇬 **Bahasa Melayu / Ringkasan Melayu (Singapore):**
> Masih cari kedai Shopify secara manual? Actor ini cari storefront Shopify awam mengikut kata kunci niche — pulangkan URL kedai, domain dan senarai bersih untuk lead gen. Bayar per hasil dihantar (mula $0.005 + $0.02/item), tiada API key. Sesuai untuk penyelidik e-dagang, agensi B2B dan pasukan outreach di Singapura. Cuba di Apify hari ini, kemudian eksport `url` ke **Shopify Owner Email** untuk kontak.

#### 🤖 NEW: Connect This To Your AI!

Want to use this scraper directly inside Claude, Cursor, or ChatGPT? Check out **[Skip Trace MCP Server](https://apify.com/intelscrape/skip--trace)**. Combined IntelScrape agents over Model Context Protocol — autonomous leads, enrichment, and research workflows.

#### 🏆 Featured Bots by IntelScrape

1. **[Niche Website Finder](https://apify.com/intelscrape/niche-website-finder)** — Shopify Storefront Search by Keyword
2. **[Shopify Owner Email](https://apify.com/intelscrape/shopify-owner-email)** — Store Owner / Contact Extraction
3. **[Contact Info Scraper](https://apify.com/intelscrape/contact-info-scraper)** — Website Emails & Socials
4. **[Website Leads](https://apify.com/intelscrape/website-Leads)** — Domain-first Lead Lists
5. **[Skip Trace PRO](https://apify.com/intelscrape/skip-trace-pro)** — Name, Address, Phone & Email People Lookup
6. **[TruePeopleSearch Scraper](https://apify.com/intelscrape/truepeoplesearch-scraper)** — Phone & Email Matches
7. **[B2B Lead Generator](https://apify.com/intelscrape/b2b-lead-generator)** — Search to Contact
8. **[Skip Trace MCP Server](https://apify.com/intelscrape/skip--trace)** — Use Skip Trace inside Claude, Cursor, ChatGPT

***

⚡ **Use this Actor in n8n — no code**

Building no-code workflows in [n8n](https://n8n.io)? Use the official **Apify** node.

**Setup (30 seconds):**

1. Add the official **Apify** node.
2. Connect your **Apify API token**.
3. **Run an Actor** with ID: `IntelScrape/niche-website-finder`.
4. Pass niche + platform JSON and run.

***

![price](https://img.shields.io/badge/price-$20.00_/_1K-e83e8c) ![billing](https://img.shields.io/badge/billing-pay_per_storefront-2ea44f) ![API key](https://img.shields.io/badge/API_key-not_required-blue) ![coverage](https://img.shields.io/badge/coverage-Shopify_storefronts-8a2be2) ![fields](https://img.shields.io/badge/fields-url_·_domain_·_platform-blue)

**Find niche Shopify storefronts by keyword — clean store URLs ready for outreach.**\
Enter a niche (e.g. skincare, fitness apparel) and get deduped storefront rows with `url`, `domain`, platform hints, and export-friendly fields.\
**No API key. Pay only for storefronts delivered.** SoftCTA mesh → **Shopify Owner Email** · **Contact Info** · **Website Leads** · **Maps Email** · **Trustpilot** · **Skip Trace PRO**.

> **Honest coverage & billing (read this):** This Actor searches for **public Shopify-style storefronts** matching your niche filters (not Amazon/eBay/Etsy marketplaces). Fields depend on discovery sources and verification signals on the run. Billing is **pay-per-event**: **Actor start $0.005** once per run + **$0.02 per storefront row** pushed via `pushData` (`apify-default-dataset-item`) + **shopify-verified $0.002** once per store when `/products.json` or `meta.json` verify succeeds (or demo fixtures with `shopifyVerified: true`). Empty runs still incur the start event. Set `demoMode: true` for a **fictional** format sample — not live inventory and not for production decisions. `verifyShopify` defaults **true** (Shopify platform only).

***

> 🧭 Built for **e-commerce researchers, Shopify migration sellers, and B2B lead agencies.** Popular with teams in the **US, China, and Singapore** building niche store lists at scale.

> ⭐ **Store rating is driven by daily power users.** If this Actor saves you time, please [leave a review](https://apify.com/intelscrape/niche-website-finder).

> ⚖️ **Lawful business use only.** For legitimate research and B2B outreach prep. Not affiliated with Shopify. Comply with site terms, robots/rate limits, and applicable laws. Do not use for spam, fraud, or prohibited consumer decisions.

> 📌 *Examples in this README are **illustrative** unless tied to a verified run id.*

***

### 🕵️‍♂️ Why Choose Us vs. "Cheaper" Competitors?

| | This Actor | Typical cheap lists |
| :--- | :--- | :--- |
| Niche keyword targeting | Yes | Often generic dumps |
| Marketplace junk filter | Yes (Amazon/eBay/Etsy/etc.) | Mixed |
| Clean root domain | Yes | Messy paths common |
| PPE honesty | Start + per row | Unclear Free/rental |
| Soft path to owner email | Shopify Owner Email | DIY |

### What a result looks like

| Field | Example |
| :--- | :--- |
| `url` | `https://colourpop.com` |
| `domain` | `colourpop.com` |
| `platform` | `Shopify` |
| `niche` | `skincare` |
| `shopifyVerified` | `true` |

### Quick start

```json
{
  "niche": "skincare",
  "platform": "Shopify",
  "maxResults": 10,
  "verifyShopify": true
}
```

Demo (fictional fixtures only):

```json
{
  "demoMode": true,
  "niche": "skincare",
  "platform": "Shopify",
  "maxResults": 5,
  "verifyShopify": true
}
```

### What you get

- `url`, `domain`
- `niche` / `niches`, `platform`
- `countryCode`, `languageCode`, `source`
- `shopifyVerified` when detected
- SoftCTA mesh on every store + `stores-batch-summary` → Shopify Owner Email / Contact Info / Website Leads / Maps Email / B2B / Trustpilot / TruePeopleSearch / Skip Trace PRO (SOFTCTA\_MESH\_0\_1\_15)

### Input / Output / Pricing

| Event | When it fires | Price |
| :--- | :--- | :--- |
| `apify-actor-start` | Once when the Actor starts | **$0.005** |
| `apify-default-dataset-item` | Each storefront row via `pushData` | **$0.02** |
| `shopify-verified` | Once per store when `/products.json` or `meta.json` verify succeeds (or demo fixtures) | **$0.002** |

Output: Apify dataset JSON / CSV / Excel. Primary billed unit = storefront row. SoftCTA `stores-batch-summary` is not charged as shopify-verified.

### Pipeline tip / Soft CTA

**Nice — next step** after a run:

1. Export the `url` column → **[Shopify Owner Email](https://apify.com/intelscrape/shopify-owner-email)** for founder contacts.
2. Deepen pages with **[Contact Info Scraper](https://apify.com/intelscrape/contact-info-scraper)** or **[Google Maps Email Extractor](https://apify.com/intelscrape/google-maps-email-extractor)**.
3. Adjacent lists via **[Website Leads](https://apify.com/intelscrape/website-Leads)** or **[B2B Lead Generator](https://apify.com/intelscrape/b2b-lead-generator)**.
4. Brand reputation with **[Trustpilot Reviews Scraper](https://apify.com/intelscrape/trustpilot-reviews-scraper)**.
5. Owner people enrichment with **[TruePeopleSearch](https://apify.com/intelscrape/truepeoplesearch-scraper)** / **[Skip Trace PRO](https://apify.com/intelscrape/skip-trace-pro)** when you are ready.

### Legal

For lawful business research and B2B list-building only. You must comply with Shopify and target-site terms, privacy laws, and anti-spam rules.

# Actor input Schema

## `niche` (type: `string`):

Primary niche keyword (e.g. skincare, fitness apparel). Optional if niches\[] or startUrls provided.

## `niches` (type: `array`):

Additional niche keywords to fan out (OR). Merged with Niche / Genre.

## `platform` (type: `string`):

Which platform should these stores be built on?

## `countryCode` (type: `string`):

Google Search countryCode (us, gb, ca, au, de, fr…). Rival parity with clearpath storeLocation / george country.

## `languageCode` (type: `string`):

Google Search languageCode (en, de, fr…). Use local-language niches for non-English markets.

## `tldFilter` (type: `array`):

Keep only domains ending in these TLDs (e.g. com, co.uk, com.au, de). Empty = any.

## `excludeKeywords` (type: `array`):

Drop SERP rows whose title/description/URL contain any of these (case-insensitive).

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

Optional known storefront URLs to include (skips junk filters on vendor roots). Discovery still runs when niche/niches set.

## `verifyShopify` (type: `boolean`):

When platform=Shopify, probe /products.json (or meta.json) and only return verified storefronts. Each verified store also fires PPE event shopify-verified ($0.002). Non-Shopify platforms ignore this flag. Default on for honest verified-only delivery.

## `includeSnippets` (type: `boolean`):

Attach Google title + description snippets to each row.

## `maxResults` (type: `integer`):

Maximum number of unique store URLs to generate.

## `demoMode` (type: `boolean`):

Skip Google Search. Push ≥3 fictional Shopify-verified fixture rows (source=demo) for format/PPE smoke tests. Not live inventory — do not use for production decisions. Still pushes SoftCTA stores-batch-summary. Each fixture with shopifyVerified=true charges shopify-verified $0.002 when PPE live.

## Actor input object example

```json
{
  "niche": "skincare",
  "platform": "Shopify",
  "countryCode": "us",
  "languageCode": "en",
  "verifyShopify": true,
  "includeSnippets": true,
  "maxResults": 100,
  "demoMode": false
}
```

# Actor output Schema

## `websites` (type: `string`):

Discovered niche store URLs in the default dataset.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("intelscrape/niche-website-finder").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("intelscrape/niche-website-finder").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 '{}' |
apify call intelscrape/niche-website-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,intelscrape/niche-website-finder"
        }
    }
}

```

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/aH0Uj2BKafX8OebcU/builds/b3ZV9M1qibfK9aSl1/openapi.json
