# Google Play App & Developer Email Scraper (`datakiln/google-play-developer-contacts`) Actor

Find Android apps by keyword, app ID or developer and get each developer's email, website, address and privacy policy, plus installs, rating, genre, price and last update. Ideal for B2B outreach to app publishers.

- **URL**: https://apify.com/datakiln/google-play-developer-contacts.md
- **Developed by:** [DataKiln Labs](https://apify.com/datakiln) (community)
- **Categories:** Lead generation, Marketing, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 apps

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Google Play App & Developer Email Scraper

Build lists of **Android app publishers with their contact emails**. Search Google Play by keyword (or paste app IDs / developer pages) and get every app's **developer email, website, address and privacy policy**, plus installs, rating, genre, price, ads/in-app purchases and last update date.

**$3 per 1,000 apps — developer email included.** No login, no API key.

### Why it's great for outreach

Google Play requires every developer to publish a support email, so **almost every app comes with a real contact address**. Combine that with installs, rating and *updated within N days* filters and you get a clean list of active publishers in any niche — in minutes.

Google Play search only returns ~30 apps per keyword. This scraper also follows each app's **Similar apps** to grow lists into the hundreds or thousands, and can search several country stores.

### Use cases

- 🤝 **B2B sales** to app developers — SDKs, ad networks, ASO, UA agencies, localization, QA.
- 📊 **Market research** — map a category: installs, ratings, monetization (ads / in-app purchases / paid).
- 🔁 **Partnerships** — find indie developers (max-installs filter) or the biggest players (min-installs).

### Input example

```json
{
  "searchQueries": ["habit tracker", "meditation"],
  "countries": ["us", "gb"],
  "maxApps": 500,
  "includeSimilarApps": true,
  "minInstalls": 10000,
  "updatedWithinDays": 180,
  "onePerDeveloper": true
}
```

### Output example

```json
{
  "appId": "com.habitnow",
  "url": "https://play.google.com/store/apps/details?id=com.habitnow",
  "title": "HabitNow Daily Routine Planner",
  "developer": "HabitNow Apps",
  "developerEmail": "habitnow.apps@gmail.com",
  "developerWebsite": null,
  "developerAddress": null,
  "privacyPolicy": "https://www.habitnow.app/privacy-policy",
  "genre": "Productivity",
  "installs": "5,000,000+",
  "realInstalls": 7249855,
  "rating": 4.75,
  "ratingsCount": 93120,
  "free": true,
  "containsAds": false,
  "updatedAt": "2026-07-27",
  "source": "search:habit tracker"
}
```

### Pricing

Pay-per-result: **$0.003 per app**, developer contacts included, platform usage included. Cap any run with *Max total charge*.

### FAQ

**Is the developer email always there?** Google Play requires one, so nearly all apps have it. Website, address and privacy policy depend on what the developer published.

**How many apps per keyword?** About 30 per keyword per country from search; turn on *Expand with similar apps* for much bigger lists.

**Is it legal?** It collects public Play Store listing data that developers publish for users to contact them. Follow GDPR, CAN-SPAM and local rules for outreach.

### Related tools by DataKiln

- [Website Contact Extractor — emails, phones & socials from any website](https://apify.com/datakiln/website-contact-extractor)
- [YouTube Channel Email Finder — creator emails, socials & stats](https://apify.com/datakiln/youtube-channel-email-finder)
- [Podcast Email Finder — host emails from Apple Podcasts RSS feeds](https://apify.com/datakiln/podcast-email-finder)
- [TikTok Profile & Email Finder — bio, stats & contacts](https://apify.com/datakiln/tiktok-profile-email-finder)

### Support

Open an issue on the **Issues** tab — we usually reply within 24 hours.

# Actor input Schema

## `searchQueries` (type: `array`):

Find apps by keyword, e.g. 'habit tracker', 'food delivery', 'crypto wallet'.

## `appIdsOrUrls` (type: `array`):

Package names (com.duolingo) or Play Store app URLs.

## `developerUrls` (type: `array`):

Play Store developer page URLs or developer IDs — returns all their listed apps.

## `maxApps` (type: `integer`):

Total number of apps to return for the whole run (after filters).

## `includeSimilarApps` (type: `boolean`):

Google Play search returns ~30 apps per keyword. With this on, the scraper also follows each app's 'Similar apps' to build much larger lists in your niche.

## `onePerDeveloper` (type: `boolean`):

Keep only the first app of each developer — handy for clean outreach lists.

## `minInstalls` (type: `integer`):

Skip apps with fewer installs.

## `maxInstalls` (type: `integer`):

Skip apps with more installs — find indie developers.

## `minRating` (type: `number`):

Skip apps rated below this (1–5).

## `updatedWithinDays` (type: `integer`):

Keep only apps updated in the last N days — active developers.

## `freeOnly` (type: `boolean`):

Skip paid apps.

## `countries` (type: `array`):

Two-letter country codes for search (us, gb, de, in…). Each country adds up to ~30 apps per keyword. Details are read from the first country.

## `language` (type: `string`):

Language of app texts, e.g. en, de, es.

## `maxConcurrency` (type: `integer`):

How many apps to process at the same time.

## Actor input object example

```json
{
  "searchQueries": [
    "habit tracker"
  ],
  "maxApps": 50,
  "includeSimilarApps": true,
  "onePerDeveloper": false,
  "freeOnly": false,
  "countries": [
    "us"
  ],
  "language": "en",
  "maxConcurrency": 6
}
```

# Actor output Schema

## `apps` (type: `string`):

All apps as JSON items.

## `overview` (type: `string`):

Overview table view.

# 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 = {
    "searchQueries": [
        "habit tracker"
    ],
    "maxApps": 50,
    "countries": [
        "us"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("datakiln/google-play-developer-contacts").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 = {
    "searchQueries": ["habit tracker"],
    "maxApps": 50,
    "countries": ["us"],
}

# Run the Actor and wait for it to finish
run = client.actor("datakiln/google-play-developer-contacts").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 '{
  "searchQueries": [
    "habit tracker"
  ],
  "maxApps": 50,
  "countries": [
    "us"
  ]
}' |
apify call datakiln/google-play-developer-contacts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datakiln/google-play-developer-contacts"
        }
    }
}
```

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/l94GscNnSmaezurks/builds/TLNfgzh9Rl6elmf5Y/openapi.json
