# Pinterest Creator & Influencer Contact Finder (`apt_marble/pinterest-creator-finder`) Actor

Find Pinterest creators in any niche with the contact details they publish themselves. Filter by follower count, activity and website, then export an outreach-ready list with emails, phone numbers, locations and audience stats. No Pinterest account or login needed.

- **URL**: https://apify.com/apt\_marble/pinterest-creator-finder.md
- **Developed by:** [Hamza](https://apify.com/apt_marble) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 creator profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Pinterest Creator & Influencer Contact Finder

Type in the keywords that describe your niche and get back a clean, filtered list of the Pinterest creators working in it — with the audience size, website, location and **contact details they have published on their own profile**. Instead of scrolling Pinterest for hours and copying names into a spreadsheet, you get an outreach-ready list you can sort by followers, filter by how recently they posted, and hand straight to your team. No Pinterest account and no login of any kind.

***

### What you can do with it

- **Build an influencer outreach list for a niche** — "vegan baking", "wedding photography", "modern interior design" — and get every matching creator with the email or phone number they chose to publish.
- **Find micro-influencers, not just the giants.** Set a follower floor *and* a ceiling and get the 5k–50k creators who still reply to brand emails.
- **Screen out dormant accounts before you waste an email** by only keeping creators who have posted within a window you choose.
- **Qualify creators at a glance** with follower count, total pins, board count, how often they post video and story pins, and the views Pinterest reports for their profile.
- **Prospect for B2B clients** — designers, studios, shops and agencies publish a business address and website on Pinterest, and those columns come through as city, region, country and website.
- **Track a niche over time** by scheduling the same keywords weekly and watching who is growing.

***

### What you get

One row per creator. Abridged sample — the field names are exactly the ones you get, with identity and contact values replaced by neutral examples (the full `website` and image columns are listed in the output table below):

```json
{
  "type": "creator",
  "username": "studioexample",
  "url": "https://www.pinterest.com/studioexample/",
  "fullName": "Example Interior Studio",
  "about": "Interior design studio for homes and workplaces. Follow for inspiration.",
  "followerCount": 214451,
  "followingCount": 456,
  "pinCount": 50083,
  "boardCount": 45,
  "groupBoardCount": 28,
  "storyPinCount": 248,
  "profileViews": 317520,
  "profileReach": 287064,
  "domain": "example-studio.com",
  "domainVerified": true,
  "isVerifiedMerchant": false,
  "isVerifiedIdentity": true,
  "createdAt": "2011-05-06T07:00:03.000Z",
  "lastPinSaveTime": "2026-07-21T04:28:06.000Z",
  "daysSinceLastPinSave": 14,
  "contactEmail": "hello@example-studio.com",
  "contactPhone": "5551234567",
  "contactPhoneCountry": "US",
  "contactPhoneE164": "+15551234567",
  "instagramUsername": "studioexample",
  "city": "Chicago",
  "region": "IL",
  "country": "US",
  "hasContactDetails": true,
  "contactDetailsAvailable": true,
  "searchQuery": "interior design",
  "browsedFrom": "us",
  "servedCountry": "us",
  "position": 3,
  "scrapedAt": "2026-08-04T14:02:02.214Z"
}
```

***

### Input reference

| Field | Type | Default | What it does |
| --- | --- | --- | --- |
| `queries` | list of text | `["interior design"]` | Your niche keywords, one per line. Each one is matched against Pinterest's people directory, so use words a creator would put in their name or profile. Up to 20 per run. |
| `maxCreators` | integer | `50` | How many creator rows to return in total across all keywords. Creators that fail your filters do not count towards it. Maximum 1,000. |
| `minFollowers` | integer | `1000` | Skip creators with a smaller audience. Applied before a profile is opened, so a higher floor makes the run tighter *and* faster. |
| `maxFollowers` | integer | *(empty)* | Optional ceiling, for finding micro-influencers rather than the biggest accounts. Leave empty for no upper limit. |
| `activeSinceDays` | integer | `365` | Only keep creators who have saved something to Pinterest within this many days. Maximum 3,650. |
| `requireContactDetails` | boolean | `false` | Return a creator only when they have published an email address or a phone number. Turn this on for outreach lists. |
| `requireWebsite` | boolean | `false` | Return a creator only when their profile links out to a website or shop. |
| `excludeAdsOnlyProfiles` | boolean | `true` | Drop accounts that exist purely to run Pinterest advertising and publish no organic content. |
| `country` | select | `us` | The market to browse from. Pinterest personalises who it shows by location, so the same keyword can return a different set from a different market. |

***

### Output fields

| Field | Type | Description |
| --- | --- | --- |
| `type` | text | Always `creator`. |
| `id` | text | Pinterest's own identifier for the profile. |
| `username` | text | Profile handle. |
| `url` | link | Profile address. |
| `fullName`, `firstName`, `lastName` | text | Display name as published. |
| `about` | text | The bio the creator wrote, or `null` when they wrote none. Never filled in with a stand-in sentence. |
| `pronouns` | list | Pronouns, when the creator published them. |
| `imageUrl` | link | Profile picture. |
| `followerCount` | number | Audience size. |
| `followingCount` | number | How many accounts they follow. |
| `pinCount` | number | Total pins published. |
| `boardCount` | number | Total boards. |
| `groupBoardCount` | number | Boards shared with other people. |
| `storyPinCount`, `videoPinCount` | number | How much of their output is story and video content. |
| `profileViews`, `profileReach` | number | The view and reach figures Pinterest shows for the profile. `null` when the profile does not publish them. |
| `website` | link | The site the creator points their audience to. |
| `listedWebsite` | link | A second site shown on the profile, when there is one. |
| `domain` | text | The site Pinterest associates with the creator. |
| `domainVerified` | boolean | Whether Pinterest confirmed they own that site. |
| `impressumUrl` | link | Legal-notice page, where the creator publishes one. |
| `isVerifiedMerchant` | boolean | Approved by Pinterest as a merchant. |
| `isVerifiedIdentity` | boolean | Identity confirmed by Pinterest. |
| `isPartner` | boolean | The profile is set up as a business profile. |
| `isPrivateProfile` | boolean | The profile is marked private. |
| `isAdsOnlyProfile` | boolean | The account exists only to advertise. |
| `createdAt` | date | When the profile was opened. |
| `lastPinSaveTime` | date | The last time they saved anything. |
| `daysSinceLastPinSave` | number | Days since that save, at collection time. |
| `contactEmail` | text | The email address published on the profile, or `null`. |
| `contactPhone` | text | The phone number published on the profile, digits only, or `null`. |
| `contactPhoneCountry` | text | Country of that number. |
| `contactPhoneE164` | text | The same number in international form, when Pinterest published a dialling code for it. |
| `instagramUsername`, `instagramUrl` | text / link | Linked Instagram account, when there is one. |
| `city`, `region`, `country`, `postalCode`, `street` | text | The business address published on the profile, or `null`. |
| `hasContactDetails` | boolean | `true` when an email or a phone number was found. This is the row you are charged the contact-details price for. |
| `contactDetailsAvailable` | boolean | `false` in the rare case Pinterest did not return the contact section at all — read that as *unknown*, not as *nothing published*. |
| `searchQuery` | text | Which of your keywords found this creator. |
| `browsedFrom` | text | The market you asked to browse from. |
| `servedCountry` | text | The market the creator was actually found in. Normally the same as `browsedFrom`; when it differs, you can see it instead of being told the wrong thing. |
| `position` | number | Where they ranked in the shortlist. |
| `scrapedAt` | date | When the row was collected. |

***

### Pricing

You pay per result, not per minute.

| What you pay for | Price |
| --- | --- |
| Every creator profile returned | **$6.00 per 1,000** (= $0.006 each) |
| Creators who turned out to have published an email or a phone number | **$15.00 per 1,000** (= $0.015 each) |

The second charge only ever applies to a row where `hasContactDetails` is `true`. Creators with no published email or phone cost you the base price only, and creators that fail your filters cost you nothing at all.

**Worked example.** You ask for 500 creators in "wedding photography". You get 500 rows back, and 200 of them turned out to have published contact details:

- 500 × $0.006 = **$3.00**
- 200 × $0.015 = **$3.00**
- **Total: $6.00** for 200 contactable creators plus 300 more profiles to qualify by hand.

If you turn `requireContactDetails` on, every row you receive carries contact details, so a 500-row run costs 500 × $0.021 = **$10.50**.

***

### Limits & what this actor cannot do

- **Not every creator publishes contact details.** Across a live sample of Pinterest creators, roughly half had published an email address and a smaller share a phone number. This actor reports exactly what each creator chose to make public — it never guesses, infers or enriches an address from anywhere else. Turn on `requireContactDetails` if you only want the ones who did.
- **Pinterest publishes a limited number of public profiles for any one keyword**, so a very large target returns what Pinterest makes available rather than an unlimited directory. Use several related keywords to widen a niche.
- **Follower counts, view figures and last-active dates are a snapshot** taken at collection time and keep moving afterwards.
- **Results are personalised to the market you browse from**, so the same keyword from a different country can return a different set of creators. Every row records the market it was actually found in, so two exports are always comparable.
- **Some creators publish no bio at all.** Those rows come back with an empty `about` rather than a stand-in sentence written by anyone else, so a mail merge that uses the column never sends words the creator did not write.
- **Private profiles are not publicly viewable** and are reported as unavailable rather than returned as empty rows.
- **No follower or following lists.** Pinterest does not make anyone's follower graph publicly viewable, so this actor cannot tell you who follows whom.
- **No pin-level comments or messages.** It works at the creator level.
- **Speed depends on the size of the job and on Pinterest's own response times.** No fixed throughput is promised.
- **These are real people.** The email addresses, phone numbers and business addresses returned are personal data, published by the creators themselves on their public profiles. You are responsible for using them lawfully — that includes GDPR, CCPA and any other privacy or anti-spam law that applies to you and to the people you contact, keeping a lawful basis for contacting them, honouring opt-outs, and complying with Pinterest's own terms. This actor gives you the data; the legal basis for what you do with it is yours.

***

### FAQ

**Do I need a Pinterest account?**
No. Nothing is needed beyond the keywords you type in.

**Does it need my login or password?**
No. It never asks for one and could not use one.

**Is the data complete?**
It is complete in the sense that every field comes from what the creator published, and empty fields are returned as `null` rather than guessed. It is not exhaustive: Pinterest makes a limited number of public profiles available for any one keyword, so treat a run as a strong sample of a niche rather than a census of it. Running several related keywords covers a niche much better than one broad word.

**Why do some creators have no email or phone number?**
Because they never published one. Pinterest only shows contact details a creator deliberately added to their own profile, and many creators — especially personal accounts rather than businesses — never do. Those rows come back with `hasContactDetails: false` and are not charged the contact-details price.

**Can I schedule it?**
Yes. Schedule the same keywords weekly or monthly and watch a niche change: new creators appear, follower counts move, and dormant accounts drop out of your activity window.

**Can I use these contact details for cold outreach?**
That depends on where you and the creator are, and it is your decision to make. The details returned are published publicly by the creators themselves, but publication is not consent, and privacy and anti-spam law still applies to you. Check your obligations before you send anything.

**Why did I get fewer rows than I asked for?**
Your filters were stricter than the niche. A high follower floor, a short activity window, or `requireContactDetails` can all narrow a keyword down to a handful of creators. Widen one of them, or add more keywords.

# Actor input Schema

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

One keyword per line. Each keyword is searched against Pinterest's people directory, so use the words a creator in that niche would put in their name or profile — for example "interior design", "vegan baking", "wedding photography". Up to 20 keywords per run.

## `maxCreators` (type: `integer`):

How many creator profiles to return in total, across all keywords. Creators that fail your filters do not count towards this number.

## `minFollowers` (type: `integer`):

Skip creators with fewer followers than this. Applied before a profile is opened, so a high minimum makes the run faster as well as tighter.

## `maxFollowers` (type: `integer`):

Optional upper bound, for finding micro-influencers rather than the biggest accounts. Leave empty for no upper limit.

## `activeSinceDays` (type: `integer`):

Only keep creators who have saved something to Pinterest within this many days. Filters out dormant accounts before they cost you anything.

## `requireContactDetails` (type: `boolean`):

Return a creator only when they have published an email address or a phone number on their profile. Turn this on for outreach lists; leave it off to see the whole niche.

## `requireWebsite` (type: `boolean`):

Return a creator only when their profile links out to a website or shop.

## `excludeAdsOnlyProfiles` (type: `boolean`):

Drop accounts that exist purely to run Pinterest advertising and publish no organic content of their own.

## `country` (type: `string`):

Pinterest personalises who it shows by location. Pick the market whose creators you want to find; the same keyword can return a different set from a different market.

## Actor input object example

```json
{
  "queries": [
    "interior design"
  ],
  "maxCreators": 50,
  "minFollowers": 1000,
  "activeSinceDays": 365,
  "requireContactDetails": false,
  "requireWebsite": false,
  "excludeAdsOnlyProfiles": true,
  "country": "us"
}
```

# 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 = {
    "queries": [
        "interior design"
    ],
    "maxCreators": 50,
    "minFollowers": 1000,
    "activeSinceDays": 365,
    "country": "us"
};

// Run the Actor and wait for it to finish
const run = await client.actor("apt_marble/pinterest-creator-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 = {
    "queries": ["interior design"],
    "maxCreators": 50,
    "minFollowers": 1000,
    "activeSinceDays": 365,
    "country": "us",
}

# Run the Actor and wait for it to finish
run = client.actor("apt_marble/pinterest-creator-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 '{
  "queries": [
    "interior design"
  ],
  "maxCreators": 50,
  "minFollowers": 1000,
  "activeSinceDays": 365,
  "country": "us"
}' |
apify call apt_marble/pinterest-creator-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apt_marble/pinterest-creator-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/ujbHch1h9uu6vvQ14/builds/Od024PuPY3beeYOb5/openapi.json
