App Store Developer Leads - iOS Developers, Emails & Sites avatar

App Store Developer Leads - iOS Developers, Emails & Sites

Pricing

from $2.40 / 1,000 developer leads

Go to Apify Store
App Store Developer Leads - iOS Developers, Emails & Sites

App Store Developer Leads - iOS Developers, Emails & Sites

Find iOS app developers by keyword, genre or top charts: apps, ratings, update activity, website, emails and social links published on their own site, plus a lead score. One row per developer. Pay only per developer.

Pricing

from $2.40 / 1,000 developer leads

Rating

0.0

(0)

Developer

Andrew Boiko

Andrew Boiko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

App Store Developer Leads - iOS Developers, Websites & Public Emails

Find the companies and indie developers behind iOS apps. Search the App Store by keyword or genre, or read Apple's top charts, and get one row per developer: their apps, ratings, update activity, website and - when published on the developer's own site - emails and social links, plus a transparent lead score.

Built on Apple's public iTunes Search API and Apple's marketing RSS charts. It covers the Apple App Store only (no Google Play) and does not guess email addresses.

Who is it for

  • Agencies and freelancers selling app marketing, ASO, design, development or QA to teams that already ship an iOS product.
  • SaaS and SDK vendors (analytics, payments, subscriptions, push, crash reporting) building prospect lists of active app makers.
  • Investors and market researchers mapping who is building in a niche (for example habit trackers or invoicing) and how much traction they have.
  • Recruiters looking for small studios and mobile teams in a niche.

What you get

For every developer (grouped by Apple's developer id):

  • Developer name, App Store developer page, website (the seller URL the developer lists)
  • Number of apps found, top 5 apps with rating, rating count, price, version and last update
  • Genres, average rating (weighted by rating count), total ratings, first and last release dates
  • Storefront countries and search terms where they were found
  • Emails found on their own website (MX-checked), social links (LinkedIn, X/Twitter, Facebook, Instagram, YouTube, GitHub, TikTok), support and privacy URLs when Apple provides them
  • A lead score from 0 to 100 with its components

Input

FieldTypeDefaultDescription
modestringsearchsearch (keywords/genres) or top-charts (Apple top 100)
searchTermsarrayemptyKeywords to search, e.g. fitness, invoice. Required in search mode unless genres are given
genresarrayemptyGenre names or ids (Health & Fitness, 6013, Games...) used as a filter
countriesarray["us"]2-letter storefront codes. Terms are searched in each country
chartTypestringtop-freetop-free or top-paid in top-charts mode
maxDevelopersinteger501-1000. Highest lead scores are kept
minRatingCountinteger0Minimum total ratings across the developer's apps
appsUpdatedWithinDaysinteger0Ignore apps not updated in the last N days (0 = off)
findEmailsbooleantrueRead the developer's own website for emails and social links
includeFailedbooleanfalseAdd free type: "error" rows for failed Apple requests

Example:

{
"mode": "search",
"searchTerms": ["habit tracker", "meditation"],
"genres": ["Health & Fitness"],
"countries": ["us", "gb"],
"maxDevelopers": 100,
"minRatingCount": 1000,
"appsUpdatedWithinDays": 180,
"findEmails": true
}

Output example

{
"type": "developer",
"id": "appstore-dev:1001",
"developerId": "1001",
"developerName": "Zen Apps Ltd",
"developerUrl": "https://apps.apple.com/us/developer/zen-apps-ltd/id1001",
"website": "https://zenapps.example/",
"websiteStatus": "ok",
"appCount": 3,
"topApps": [
{ "name": "Zen Timer", "id": "111", "url": "https://apps.apple.com/us/app/zen-timer/id111", "genre": "Health & Fitness", "rating": 4.8, "ratingCount": 25000, "price": 0, "currency": "USD", "version": "3.2.1", "lastUpdate": "2026-10-09T10:00:00.000Z" }
],
"genres": ["Health & Fitness", "Lifestyle"],
"primaryGenre": "Health & Fitness",
"avgRating": 4.77,
"totalRatingCount": 29500,
"lastReleaseDate": "2026-10-09T10:00:00.000Z",
"firstReleaseDate": "2019-03-01T08:00:00.000Z",
"foundInCountries": ["us"],
"matchedTerms": ["meditation"],
"primaryEmail": "hello@zenapps.example",
"emails": ["hello@zenapps.example", "support@zenapps.example"],
"emailStatus": "verified_mx",
"emailSource": "developer-website",
"linkedin": "https://www.linkedin.com/company/zen-apps",
"twitter": "https://twitter.com/zenapps",
"facebook": null, "instagram": null, "youtube": null, "github": null, "tiktok": null,
"supportUrl": null, "privacyUrl": null,
"leadScore": 95,
"leadScoreParts": { "traction": 36, "rating": 10, "activity": 30, "breadth": 9, "reachability": 10 },
"attribution": "App data: Apple iTunes Search API / Apple Marketing Tools RSS. Emails and social links: developer's own public website. Not affiliated with Apple.",
"source": "apple-app-store",
"scrapedAt": "2026-10-14T09:00:00.000Z"
}

emailStatus is verified_mx (the email's domain has mail servers), unverified (domain did not resolve to mail servers or the lookup failed) or none. websiteStatus is one of ok, no_website, unreachable, blocked_by_robots, social_or_store_page, blocked_host, invalid_url, not_checked.

A run also stores OUTPUT (counts, per-query status, skipped reasons, charged events, stoppedReason) and RESULTS_MD in the key-value store.

Lead score

The score is a plain formula, so you can recompute it or weigh it differently:

ComponentMaxRule
traction408 x log10(1 + total ratings), capped (10,000 ratings = 32)
rating10average rating / 5 x 10
activity30latest release within 30 days 30, 90 days 22, 180 days 14, 365 days 6, older 0
breadth103 points per app found
reachability105 for a listed website, 5 more when an email was found

It describes how established and active a developer looks. It is not a prediction that they will buy anything.

Pricing

Pay only for developers delivered: $0.003 per developer ($3 per 1,000) (developer event), so 100 developers cost $0.30 before any Apify plan discount. Emails and social links are included at no extra charge. You are never charged for failed requests, empty results, developers filtered out or rows beyond your "maximum cost per run" - the run stops softly when the budget is reached and keeps what it has. Free-plan users can try it with their free monthly credits; the default 5-developer test run costs about one and a half cents. Platform usage (compute) is included in the price.

How it works

  1. Search mode: every term x country is searched with the iTunes Search API (up to 200 apps per search). Top-charts mode: Apple's top-100 RSS chart is read per country and the apps are looked up through the iTunes Lookup API to get ratings and websites.
  2. Apps are merged across queries, filtered (genre, update recency), grouped by developer id and ranked by lead score; the best maxDevelopers are kept.
  3. With findEmails, each developer's own website is fetched: homepage plus up to two contact/support/about pages, checking robots.txt first, with timeouts and a clear User-Agent. Emails written as name [at] domain are recognised; their domains get an MX lookup.
  4. Each delivered developer is charged once. Progress is saved so that a migrated or restarted run does not re-charge developers it already delivered.

Limits and honest caveats

  • Apple App Store only. Google Play is not covered.
  • Emails are returned only when the developer publishes them on the website listed in the App Store. Many developers list no website, a social page, or a site with only a contact form, so expect a share of rows without emails. Email addresses are never guessed or invented.
  • verified_mx means the domain can receive mail; it does not prove the mailbox exists.
  • Apple's search API returns at most 200 apps per query and throttles heavy use (roughly 20 requests per minute); the actor spaces requests and waits when Apple answers with a throttle error, so large keyword x country combinations take minutes.
  • Search results are Apple's relevance ranking for the term, not a complete census of a category. Use several related terms and countries for broader coverage.
  • Ratings and rating counts are per storefront and can differ by country; totalRatingCount adds each app's highest count seen across the storefronts searched.
  • Developer grouping uses Apple's developer id. Studios publishing under several developer accounts appear as several rows.

App data comes from Apple's public APIs and feeds; use is subject to Apple's terms for those services, and this actor is not affiliated with Apple. Emails and social links are read only from the developer's own public website, respecting robots.txt. A business email on a company site is personal data under GDPR when it identifies a person: have a lawful basis, identify yourself, offer an easy opt-out, and follow the e-mail marketing rules (PECR, CAN-SPAM, ePrivacy) of the recipient's country. Do not use the data for spam. You are responsible for your use of the results.

FAQ

Is this a Google Play scraper? No, Apple App Store only.

Why is primaryEmail empty for some developers? The developer lists no website, the site is a social page or app-store page, robots.txt forbids fetching, the site is down, or no email is published. See websiteStatus.

Will it find the personal email of the founder? Only if it is published on the developer's own site. The actor does not guess addresses or scrape LinkedIn.

How many developers can I get? Each search term returns up to 200 apps, which typically means 60-150 distinct developers. Add related terms and more countries for more.

What is the difference between search and top-charts? Search finds apps matching your keywords. Top charts lists the 100 most downloaded free or paid apps of a country, so it favours big publishers.

Can I get only active developers? Set appsUpdatedWithinDays (for example 180) and minRatingCount.

Does it charge for developers I already got in the same run? No. Each developer is charged once, and a restarted run skips developers it already delivered.

Use via API

Replace YOUR_TOKEN with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/tiger19935~app-store-developer-leads/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms":["meditation"],"countries":["us"],"maxDevelopers":5,"findEmails":true}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('tiger19935/app-store-developer-leads').call({
searchTerms: ['invoice', 'expense tracker'], countries: ['us', 'gb'], maxDevelopers: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((d) => d.primaryEmail).length, 'developers with an email');
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("tiger19935/app-store-developer-leads").call(
run_input={"mode": "top-charts", "countries": ["us"], "chartType": "top-free", "findEmails": False}
)
for dev in client.dataset(run["defaultDatasetId"]).iterate_items():
print(dev["developerName"], dev["leadScore"], dev["website"])

Integrations

Start the actor from Make, n8n or Zapier on a schedule, then send developers with a primaryEmail to your CRM (HubSpot, Pipedrive, Airtable) or to a Google Sheet through the Apify Google Sheets integration. You can also download the dataset as CSV or Excel. A typical flow: weekly run with appsUpdatedWithinDays: 90, filter leadScore >= 60, push new developer ids into your CRM.

More tools by the same author