# Vsco Email Scraper - Keyword & Location Targeting (`scrapido/vsco-email-scraper`) Actor

🎞️ VSCO Email Scraper pulls photographer and creator emails by keyword and location. 🔓 Domain filters, obfuscated-address decoding and duplicate handling. 📤 Export VSCO leads to CSV, JSON or Excel for brand collaborations.

- **URL**: https://apify.com/scrapido/vsco-email-scraper.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

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/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

### Vsco Email Scraper

**Vsco Email Scraper** is an Apify actor that automates email-address extraction from VSCO using the keywords and filters you choose. If you’re a marketer, recruiter, or data team drowning in manual lead research, this VSCO scraper tool turns public VSCO contact info into a structured dataset fast—so you can scale outreach with clear ROI.

***

### What is Vsco Email Scraper? 🔍

**Vsco Email Scraper** is an automated web-scraping actor on Apify built to extract public email addresses from VSCO based on your input keywords. It works as a VSCO email extractor and contact scraper: instead of searching manually, it helps you scrape VSCO contacts, extract emails tied to relevant profiles, and save results at scale. That means faster targeted email list building for lead generation workflows, including OSINT email finding and automated email extraction. It’s also useful as a VSCO scraper tool when you want consistent, exportable data for social media email extraction and outreach planning.

***

### What Data Does a Vsco Email Scraper Collect? 📊

This actor outputs a structured lead record with contact and profile context. You’ll capture email plus the metadata needed to understand and act on each lead.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Contact | `email` | Public email address found for a relevant VSCO profile |
| Identity | `title` | Profile title / name shown in the result |
| Context | `description` | Profile description or summary text |
| Discovery | `keyword` | The search keyword that surfaced this result |
| Navigation | `url` | Direct link to the VSCO profile page |
| Location | `location` | Location listed with the profile (if available) |

***

### What Do Results from a Vsco Email Scraper Look Like? 👀

Each result is saved as a structured JSON record into your Apify dataset. Here’s a real example:

```json
{
  "keyword": "founder",
  "title": "Mia Thompson",
  "description": "Founder & Creative Director | Photography, film, and editing",
  "url": "https://vsco.co/mia.thompson",
  "email": "mia.thompson@studioexample.com",
  "location": "San Francisco, CA"
}
```

Export formats: JSON (dataset output). You can also export as CSV from the Apify dataset UI.

***

#### Core Features: Vsco Email Scraper ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-Driven Targeting** | Focus on the exact VSCO audience you want using your provided keywords (including “manager” and “founder”) |
| ✅ **Location Filter** | Add `location` to narrow your results geographically |
| ✅ **Custom Domain Filter** | Use `customDomains` to restrict email harvesting to specific domains such as `@gmail.com` or `@yahoo.com` |
| ✅ **Configurable Result Cap** | Control run scope with `maxEmails` to manage scraping time and cost |
| ✅ **Proxy Support** | Uses built-in proxy support for more reliable large-scale runs |
| ✅ **Resilient Execution** | Includes logic to continue reliably and avoid duplicates by tracking already seen emails |
| ✅ **Structured Output** | Saves clean, labeled records for easy import into your CRM or outreach tools |
| ✅ **Dataset-First Workflow** | Results are pushed incrementally into the Apify dataset so you can export whenever you need |
| ✅ **Designed for OSINT Email Finding** | Useful for VSCO data scraping, targeted email list building, and social media email extraction |

***

### Getting Started with Vsco Email Scraper 🚀

1. **Open Apify Store** — go to [apify.com/store](https://apify.com/store) and search **Vsco Email Scraper**
2. **Click Try for Free** — sign in or create an Apify account
3. **Open the Input Tab** — configure your keywords and optional filters
4. **Add Keywords** — enter job titles or roles relevant to your outreach (e.g., `manager`, `founder`)
5. **Set Optional Filters** — add `location` and `customDomains` if you want tighter targeting
6. **Cap Your Results** — set `maxEmails` to control how many emails you collect per run
7. **Click Start** — launch the actor and monitor progress in logs
8. **Access Your Data** — open the **dataset** in Apify, preview, and export to JSON/CSV

First results typically appear quickly, and you can iterate by tuning keywords and domains.

***

### Ways to Use Vsco Email Scraper 💡

- 🎯 **Targeted email list building** — generate outreach-ready leads by keyword intent on VSCO
- 📣 **Lead generation** — scrape VSCO emails for marketing campaigns and prospecting
- 🔬 **OSINT email finding** — support research workflows with automated email extraction from publicly available sources
- 🧩 **VSCO contact scraping** — enrich your database with `title`, `description`, and `url` alongside `email`
- 📊 **CRM enrichment** — build a clean segmentable dataset for sales teams and recruiters
- ⚙️ **Automated data pipelines** — schedule repeatable VSCO data scraping for ongoing lead discovery

***

#### Input Parameters — Vsco Email Scraper

Provide input in the Apify Console **INPUT** tab.

```json
{
  "keywords": ["manager", "founder"],
  "location": "",
  "customDomains": ["@gmail.com", "@yahoo.com"],
  "maxEmails": 20
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | array | ✅ Yes | — | A list of keywords or queries to search for on VSCO. Use role-based terms to improve lead relevance. |
| `location` | string | No | `""` | Optional location filter (city, region, or country name) to narrow results. Leave empty for broader coverage. |
| `customDomains` | array | No | `["@gmail.com","@yahoo.com"]` | Email domain allowlist. Only emails matching these domains will be collected (e.g., `@gmail.com`). |
| `maxEmails` | integer | No | `20` | Maximum number of emails to collect. Higher values may take longer and don’t guarantee reaching the cap. |

***

#### Output Parameters — Vsco Email Scraper

The actor saves results to the Apify dataset using this record structure.

```json
{
  "keyword": "creative director",
  "title": "Alex Rivera",
  "description": "Creative Director at Studio Co. | Available for freelance",
  "url": "https://vsco.co/alexrivera",
  "email": "alex@studioco.com"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The search keyword that surfaced this lead. |
| `title` | Title | text | Profile title/name associated with the lead. |
| `description` | Description | text | Profile description or summary text from the result. |
| `url` | Url | link | Direct link to the VSCO page for the lead. |
| `email` | Email | text | The extracted public email address. |

***

### Why Choose This Vsco Email Scraper? 🏆

Choosing a VSCO scraper tool is about speed, structure, and reliable exports. **Vsco Email Scraper** focuses on turning publicly available VSCO contact info into a clean dataset you can use right away—supporting keyword-led lead generation, domain-filtered email harvesting, and a configurable `maxEmails` cap to control cost and run time. It’s a practical alternative to manual research and helps you build targeted email lists faster with less operational overhead. For help or custom setups, reach out via <scrapido.support@gmail.com>.

***

### How Many Results Can You Scrape? 📈

Use `maxEmails` to set the cap—from 1 up to 10,000. Real-world output depends on how many VSCO profiles match your keyword intent and actually display public email addresses that fit your `customDomains`. Larger runs may take longer, and the best approach is to start with strong keywords (e.g., roles) and then widen keywords/domains if volume is low. Export anytime from the Apify dataset once the run completes.

***

### Legal Guidelines for Scraping VSCO ⚖️

This actor collects information from **publicly available sources** on VSCO. It doesn’t access private profiles or any password-protected content. You’re responsible for following VSCO’s Terms of Service and applicable data privacy and marketing regulations (such as GDPR/CCPA), including respecting opt-out preferences and anti-spam laws. Only use extracted data for legitimate business purposes. Data removal requests: <scrapido.support@gmail.com>.

***

### FAQ — Vsco Email Scraper ❓

#### How does the Vsco Email Scraper identify data?

It uses the keywords you provide to discover relevant VSCO profiles and then extracts public email addresses and associated profile details from publicly available pages. No account logins are required.

#### What VSCO profile types can I scrape?

You can target any public VSCO account where an email address is publicly listed and matches your `customDomains` filters. Profiles without a visible public email won’t contribute email records.

#### How did the Vsco Email Scraper perform in our tests?

In practice, output depends heavily on your keyword intent and the likelihood that profiles display public email addresses for your selected domains. If you see low yield, broaden your keywords or add additional common email domains.

#### Why scrape VSCO for contacts?

VSCO hosts many professionals, creators, and business owners who may publish contact information publicly. Using a VSCO email scraper helps automate what would otherwise require hours of manual browsing—speeding up targeted email list building for lead generation.

#### How much does the Vsco Email Scraper cost?

Cost is controlled by the result cap via `maxEmails`. In Apify terms, scraping is typically priced based on results/usage, so setting `maxEmails` helps you control spending precisely.

#### How does the Vsco Email Scraper help my business?

It delivers a dataset you can immediately use for outreach workflows: you get the `email` plus context like `title`, `description`, and `url`, all tied to your `keyword`. This makes CRM import and segmentation much easier.

#### What challenges should I expect when using the Vsco Email Scraper?

Not every profile will show an email address, and domain availability varies. If you get limited results, try wider keywords, add related terms, or expand `customDomains` to include more email providers.

#### How do I choose a high-performing Vsco Email Scraper?

Use role-focused keywords, apply a domain allowlist with `customDomains`, and cap with `maxEmails` so you can iterate quickly. The best results usually come from combining targeted keywords (for relevant VSCO contacts) with a focused email-domain strategy.

***

### Conclusion 🏁

**Vsco Email Scraper** is a fast, structured way to extract VSCO contacts and scrape VSCO emails for lead generation at scale. Whether you’re building a targeted email list, enriching a CRM, or running OSINT email finding workflows, you can get started quickly on Apify and refine results using keywords and domain filters.

***

### 🆘 Support & Feedback

Need help configuring **Vsco Email Scraper**, or want to suggest improvements for email harvesting from VSCO?

For support and feature requests, contact <scrapido.support@gmail.com>.

### Multiple Email Types

**Email Types** replaces the old single Audience Type choice: select as many
kinds of mailbox as you want and the run chases all of them together.

| Type | What it matches |
| --- | --- |
| Personal / free webmail | Gmail, Outlook, Yahoo, iCloud, AOL, Proton, ... |
| Business / corporate | Company domains - free webmail and institutions excluded |
| Education (.edu / .ac) | `.edu`, `.ac.uk`, `.edu.au`, `.ac.in` and other academic suffixes |
| Government (.gov / .mil) | `.gov`, `.mil`, `.gov.uk`, `.gc.ca`, ... |
| Non-profit (.org) | `.org`, `.ngo`, `.org.uk`, ... |

Each selected type contributes its own Google dork patterns *and* its own domain
test, so a result is only kept if it genuinely belongs to the type that found
it. Every row carries an `emailType` field recording which one that was.

Suffixes are matched as real domain suffixes, so `cs.mit.edu` counts as
Education while `notedu.com` does not.

Setting **Custom Email Domains** still overrides everything: an explicit domain
list is a manual override and replaces the type-driven patterns. The legacy
`audienceType` value is still accepted, so saved inputs keep working.

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords or queries to search for.

## `audienceType` (type: `string`):

Business Emails runs contextual discovery patterns tuned for company contact pages ("email us at", "contact@", careers, bookings, ...) and filters out consumer webmail domains. Consumer Emails instead searches gmail.com, yahoo.com, outlook.com, hotmail.com and icloud.com directly.

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `customDomains` (type: `array`):

Optional manual override — provide specific email domains to search for (e.g. @hubspot.com) instead of using Audience Type. Leave empty to use Audience Type.

## `emailTypes` (type: `array`):

Which kinds of mailbox to hunt for. Pick as many as you like - each type contributes its own set of Google search patterns and its own domain filter, and every result records the type it was found as. Personal = free webmail (Gmail, Outlook, Yahoo, iCloud). Business = company domains, excluding free webmail and institutions. Education = .edu / .ac.uk and friends. Government = .gov / .mil. Non-profit = .org.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "audienceType": "Consumer Emails",
  "maxEmails": 20,
  "customDomains": [],
  "emailTypes": [
    "Personal",
    "Business"
  ]
}
```

# Actor output Schema

## `dataset` (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 = {
    "keywords": [
        "manager",
        "founder"
    ],
    "customDomains": [],
    "emailTypes": [
        "Personal",
        "Business"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/vsco-email-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 = {
    "keywords": [
        "manager",
        "founder",
    ],
    "customDomains": [],
    "emailTypes": [
        "Personal",
        "Business",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/vsco-email-scraper").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 '{
  "keywords": [
    "manager",
    "founder"
  ],
  "customDomains": [],
  "emailTypes": [
    "Personal",
    "Business"
  ]
}' |
apify call scrapido/vsco-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapido/vsco-email-scraper"
        }
    }
}

```

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/PCvPK8NQGnAy1y9pf/builds/RmpIylStPuR9tCaVC/openapi.json
