Klaviyo Partners · Agency Emails from Their Sites
Pricing
from $1.40 / 1,000 unique klaviyo partner agencies
Klaviyo Partners · Agency Emails from Their Sites
Export unique Klaviyo partner agencies with a public email from their website. One agency per row: inbox, phone, site, partner tier, HQ. Klaviyo does not list emails on the profile — we read the company site when they publish them. No login.
Pricing
from $1.40 / 1,000 unique klaviyo partner agencies
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Export unique Klaviyo partner agencies with a public email and phone from their company website — one agency per row, not one row per badge.
No login. No Klaviyo API key. No partner dashboard.
What does Klaviyo Partner Emails do?
This Actor builds an outreach / partnership file from the public Klaviyo Partner Directory. You are not here to dump every filter tag. You want the agencies already listed as Klaviyo partners: who to email, which site they run, which partner tier.
Klaviyo does not list agency emails on the profile (supportEmail is almost always empty). Each row is that file when the agency publishes it on their own site:
- Public inbox (
mailto:or email in the page) from the homepage and contact / legal pages - Phone when they publish a
tel:link - Website, domain, partner tier, HQ, directory URL, ecommerce platforms
Empty developerEmail means the agency did not publish an inbox (form / chat only) or the site refused the visit — not a guessed john@agency.com. Two directory URLs for the same company stay one lead.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Shopify / Klaviyo app founder | Agencies that already sell Klaviyo | Search shopify, Find public emails On |
| Email/SMS SaaS SDR | Partner-tier agencies in the US | Country United States, cap 20, Outreach view |
| Agency recruiter / roll-up | Platinum / Elite shops | Partner tier Platinum |
| Outbound / Clay ops | Domain + inbox for CRM | Filter contactStatus = email |
| Market research | Full public directory | Mode Full directory (paid); emails Off if you only need domains |
What you get by default: unique agency, public email when the company site lists one, phone when listed, website, partner tier, HQ. Keep Find public emails On.
Typical fill (public directory slice, 8 agencies, Aug 2026): 6 / 8 rows had a public inbox from the site (e.g. hello@2xcd.com, hello@1r.agency, info@58clicks.com); 3 / 8 had a phone; 0 / 8 had a directory inbox. Two sites refused the visit (crawl_failed). Filter on contactStatus = email before you import a sequencer.
website_only only appears when Find public emails is Off. After a site visit with no mailbox the status is no_contact, not website_only.
How to use
- Open this Actor in Apify Console.
- Step 1 — Mode: leave Search (a niche or a pasted partner URL) or switch to Full directory (every unique agency, paid).
- Step 2 — Search: type
shopify, pick a country / tier, or paste a partner URL from connect.klaviyo.com. - Keep Find public emails On. Leave Max agencies at 20 for a first run, then raise it (Search up to 2,000; Full directory up to 5,000).
- Click Start. Download JSON / CSV / Excel. Outreach = first email. Overview = email + HQ + website. Qualify = tier, platforms, clients.
In Search mode you can start with empty filters: the Actor takes the next agencies from the public directory, still capped. Full directory is a paid-scale job (~600 public partner profiles).
Ready-made Console tasks
| Example | Best for |
|---|---|
| Unique US Klaviyo partner agencies with emails | US country filter, Outreach view |
| Shopify Klaviyo partner agencies | Keyword shopify, Overview view |
| Platinum Klaviyo partner agencies | Platinum badge, Qualify view |
| Refresh one partner from a URL | Paste one partner URL |
When this Actor is Store-public, the same four tasks can land on the Examples tab.
What it extracts
| Field | Why it matters |
|---|---|
developerEmail, emails, emailSource | Public inbox from the company site (publisher-website). Directory inbox (directory-profile) when Klaviyo actually lists one — rare. |
phone, phones | Public tel: on the agency site |
contactStatus | Filter: email / email_and_phone vs no_contact vs crawl_failed. website_only = Find public emails Off |
publisherName, website, websiteDomain, hqLocation, country | Company + clean host + HQ for CRM match |
partnerTierLabel, platformsLabel, badgesLabel, clients | Partner badge + ecommerce platforms (Shopify, Magento, …) |
listingUrl, contactUrl, websiteFetchUrl, scrapedAt | Directory page + which site page produced an inbox |
Not extracted (and not invented): Klaviyo login emails, guessed firstname@domain patterns, partner-dashboard contacts, review text, or every directory filter tag (region / GMV / industry). platformsLabel is ecommerce platforms only.
How it works
- Read unique partner agencies from the public directory (name, website, tier, HQ).
- Klaviyo almost never lists an inbox on the profile.
- If Find public emails is On, open the company site (homepage + contact pages).
- Write unique agencies as they become complete — inbox when they published one.
Input
{"coverage": "search","query": "shopify","country": "United States","minTier": "","maxPartners": 20,"websiteEnrichment": "yes"}
Partner URL:
{"coverage": "search","query": "https://connect.klaviyo.com/partner/fuel-made","maxPartners": 1,"websiteEnrichment": "yes"}
| Parameter | Type | Default | Description |
|---|---|---|---|
coverage | String | search | search or catalog (full directory, paid) |
query | String | — | Keyword or partner URL from the directory |
country | String | Any | Directory location filter |
minTier | String | Any | platinum · elite · gold |
maxPartners | Integer | 20 | Unique agency cap. 0 = no extra cap (timeout and listing breadth still apply) |
websiteEnrichment | String | yes | On: public inbox from the company website. Off: directory fields only |
websiteEmailMaxPages | Integer | 5 | API-only. Homepage plus same-origin contact pages (1–8) |
verboseLogs | Boolean | false | API-only. Extra debug lines in the run log |
proxyConfiguration | Object | platform default | API-only. Cloud runs use Apify datacenter proxy when omitted |
Output example
Transformed values from a public run (Find public emails On). Inbox came from the company site, not the Klaviyo profile.
{"publisherName": "2x Conversion Design","website": "https://2xcd.com","websiteDomain": "2xcd.com","developerEmail": "hello@2xcd.com","phone": null,"contactStatus": "email","emailSource": "publisher-website","websiteFetchUrl": "https://2x.agency/","partnerTierLabel": "Silver Master","country": "Canada","hqLocation": "Vancouver, British Columbia, Canada","platformsLabel": "Shopify, BigCommerce, WooCommerce","listingUrl": "https://connect.klaviyo.com/partner/2x-conversion-design"}
Download in JSON, CSV, Excel, or HTML from the Dataset tab.
How much does it cost to scrape Klaviyo partners?
Pay-per-event on unique agencies, not directory badges. HTTP-only — no browser. Actor start is $0.00005. You pay one partner-row per unique agency written. When Find public emails is On and the directory inbox or phone is missing (almost always), you also pay one website-crawl per site fetched.
Free plan: a run is meant for a 20-agency try. Search: paid plans can raise Max agencies up to 2,000. Full directory (paid) walks every public partner (~600 unique agencies).
| Free | Bronze | Silver | Gold | Platinum | Diamond | |
|---|---|---|---|---|---|---|
| Per unique agency | $0.002 | $0.0018 | $0.0016 | $0.0014 | $0.0012 | $0.001 |
| Per website crawl (inbox or phone missing) | $0.0015 | $0.0014 | $0.0013 | $0.0012 | $0.0011 | $0.001 |
| 20 agencies, directory only | $0.04 | $0.04 | $0.03 | $0.03 | $0.02 | $0.02 |
| 20 agencies + 20 site fetches | $0.07 | $0.06 | $0.06 | $0.05 | $0.05 | $0.04 |
| 1,000 agencies, directory only | $2.00 | $1.80 | $1.60 | $1.40 | $1.20 | $1.00 |
| 1,000 agencies + 1,000 site fetches | $3.50 | $3.20 | $2.90 | $2.60 | $2.30 | $2.00 |
Totals include the $0.00005 start. Two URLs for the same agency are one charge. A row with an empty email still counts — the agency was scraped; they did not publish an inbox.
Compute stays low (512 MB HTTP). No residential proxy required for directory profiles.
Is scraping the Klaviyo Partner Directory free?
A 20-agency try on the Free plan is a few cents (pay-per-event). Compute is HTTP-only. Full directory plus website crawl is billed per unique agency and per site fetch, as in the table above — not “unlimited free export.”
Is it legal to scrape the Klaviyo Partner Directory?
This Actor only accesses data that Klaviyo makes publicly available on connect.klaviyo.com (name, website, tier, HQ) and, when Find public emails is On, data the agency chose to show on their own public website. As with any file that contains personal or business contact data, make sure your use complies with GDPR and similar rules. See Apify on the legality of web scraping.
Limitations
- Directory native email coverage is near zero. The inbox comes from the company website, same as the Zapier publisher Actor.
- Placeholder and demo inboxes (e.g.
you@yourstore.com) are discarded. - Not every site publishes an email: form-only →
no_contact; blocked host →crawl_failed. - Dataset order may follow completion order when website crawl runs in parallel.
- The public listing size can change; Full directory is bounded by what Klaviyo publishes, plus your max agencies / timeout.
FAQ
Do I get one row per badge or service tag? No. One agency = one row.
Where do emails come from? Almost never the Klaviyo profile. With Find public emails On, from the company website (emailSource = publisher-website) when they publish a public inbox. Same pattern as Zapier App Directory · Developer Contacts.
Does Full directory work on the free Apify plan? No. Use Search with a keyword, country, or partner URL.
Local development
npm installcp .actor/INPUT.json storage/key_value_stores/default/INPUT.jsonapify run --purge
apify run validates storage/key_value_stores/default/INPUT.json against the input schema. Use --input-file=./input.json to force the repo-root preset (CLI input overwrites overlapping keys if you merge in code). Local storage/ is not uploaded to Apify Console.
$npm test
Also available
Zapier App Directory · Developer Contacts — unique Zapier publishers; inbox from the company site.
Atlassian Marketplace · Unique Vendor Emails — unique publishers with native Marketplace email.
Salesforce AppExchange · Partner Emails — unique ISVs, listing email then company website.
Slack Marketplace · Developer Emails — unique Slack app publishers.
Support
Questions, custom directory slices, or CRM mapping: corentin@outreacher.fr or the Issues tab on the Actor page.
Ready? Mode Search, Find public emails On, click Start.