# Badoo Profile Scraper 💜 ⚡📱 (`contactminerlabs/badoo-profile-scraper`) Actor

🔍 Scrape Badoo Profiles

Enter your search parameters to discover Badoo profiles using first names, cities or keywords, and collect profile details such as display name, age, gender, location, bio, interests & profile photos. Perfect for profile research, audience insights & social discovery ⚡

- **URL**: https://apify.com/contactminerlabs/badoo-profile-scraper.md
- **Developed by:** [ContactMinerLabs](https://apify.com/contactminerlabs) (community)
- **Security:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### 💛 Badoo Profile Scraper – Find Public Badoo Profiles Fast 👤

**Badoo Profile Scraper** extracts **public Badoo profiles** (`badoo.com/profile/…`) in minutes. Add your keywords (first name, city, name + city), set how many profiles you want per keyword and get a clean, deduplicated list of profiles with **name, gender, age, city, country**, profile URL and photo. Turn on **Fetch Profile Details** to also get the **bio, interests and every public photo** of each profile.

Perfect for **dating & social market researchers, trust & safety teams, dating coaches, dating-app builders, academic researchers and analysts** who need structured data on public Badoo profiles without browsing them one by one.

### ✨ Why this Badoo Profile Scraper?

- 📈 **Built for volume** – combines 6 search sources and **300+ query variations per keyword** (genders in 25+ languages, 60 cities, 30 countries, ages) to surface profiles a single search never shows
- 🌍 **Worldwide** – Badoo publishes profiles in dozens of languages; the actor searches them all and returns clean, structured fields
- 🧩 **Structured data from the first second** – name, gender (normalised to Female / Male), age, city and country are extracted for every profile, even without opening the profile page
- 👤 **Profile details on demand** – with Fetch Profile Details, each public profile page is read to add bio, interests and all photos
- 🎯 **Unique profiles only** – every profile appears once per keyword, whatever language version it was found in
- ⚡ **Fast** – keywords are searched in parallel, no Badoo account, login or API key needed
- 🛟 **No lost profile** – if a profile page can't be opened, the profile is still saved with its search data
- 🛑 **Stops exactly at your target** – and stops automatically when no more profiles are available
- 📤 **Export anywhere** – JSON, CSV, Excel, XML, HTML, API, Zapier, Make, Google Sheets

### 🔍 What does it extract?

| Field | Description |
| --- | --- |
| `profileId` | Badoo profile id |
| `profileName` | Name shown on the profile |
| `gender` | `Female` / `Male` |
| `age` | Age |
| `city` | City |
| `country` | Country |
| `location` | City, country |
| `bio` | About me (with Fetch Profile Details) |
| `interests` | Interests (with Fetch Profile Details) |
| `profileUrl` | Link to the public Badoo profile |
| `thumbnail` | Main photo |
| `photos` | All public photos (with Fetch Profile Details) |
| `title` | Indexed page title |
| `snippet` | Search result text |
| `indexedLanguage` | Language version the profile was found in (`fr`, `es`, `en`…) |
| `keyword` | Keyword that found the profile |
| `platform` | Always `Badoo` |
| `displayedUrl` | Readable version of the URL |
| `profileDetailsFetched` | `true` if the profile page was opened and read |
| `scrapedAt` | Date and time of extraction |

Fields that are not public on a profile are returned as `N/A`. City and country are written as Badoo shows them (in the language the profile was indexed in).

### 🛠 How to scrape Badoo profiles (3 steps)

1. **Add one or more keywords** with **+ Add** – e.g. `Sarah`, `Alex`, `Paris`, `Sarah Paris`
2. **Set the maximum number of profiles per keyword**
3. **Turn on Fetch Profile Details** if you want bio, interests and all photos, then click **Start**

### 💡 Tips to get more Badoo profiles

🔹 **First names**: Sarah, Alex, Emma, Mohamed, Maria, David, Laura, Ana, Daniel, Kevin
🔹 **Name + city**: `Sarah Paris`, `Alex London`, `Maria Madrid`
🔹 **Cities**: Paris, Madrid, Rome, São Paulo, Casablanca, Lagos, Istanbul, Mexico
🔹 **Add several keywords** with + Add – each one is searched separately, which multiplies results
🔹 Leave **Fetch Profile Details** off for the fastest runs – name, gender, age, city and country are already included

### 🎯 Use cases

📊 **Dating market research** – age ranges, gender ratios and city distribution of public profiles
🛡️ **Trust & safety** – spot fake profiles, reused photos and romance-scam patterns
💬 **Dating coaches** – analyse what profiles and bios look like
🧪 **Academic research** – datasets on online dating self-presentation
🛠️ **Dating-app builders** – benchmark profile structure against Badoo

### 📥 Input

```
{
  "keywords": ["Sarah", "Alex", "Paris"],
  "MAX_ITEMS": 50,
  "FETCH_PROFILE_DETAILS": false
}
```

| Field | Type | Description |
| --- | --- | --- |
| `keywords` | string\[] | 🔍 Names, cities or "name + city" to search for (click + Add) |
| `MAX_ITEMS` | integer | 🔢 Maximum number of profiles per keyword |
| `FETCH_PROFILE_DETAILS` | boolean | 👤 Open each profile to get bio, interests and all photos |

### 🧾 Output example

```
{
  "profileId": "0625835876",
  "profileName": "Sarah",
  "gender": "Female",
  "age": "24",
  "city": "Paris",
  "country": "France",
  "location": "Paris, France",
  "bio": "N/A",
  "interests": [],
  "profileUrl": "https://badoo.com/en/profile/0625835876",
  "thumbnail": "N/A",
  "photos": [],
  "title": "Sarah, Femme, 24 ans | Paris, France | Badoo",
  "snippet": "Parle avec Sarah, 24 ans aujourd'hui. De Paris, France. Commence à discuter gratuitement sur Badoo",
  "indexedLanguage": "fr",
  "keyword": "Sarah",
  "platform": "Badoo",
  "displayedUrl": "https://badoo.com › fr › profile",
  "profileDetailsFetched": false,
  "scrapedAt": "2026-10-29T18:50:02.957Z"
}
```

### ❓ FAQ

**Is it legal to scrape Badoo profiles?**
This actor only collects profile pages that Badoo itself publishes on the open web and that search engines index. Profiles still contain personal data: you are responsible for using it in compliance with privacy laws (GDPR, CCPA…) and Badoo's terms – have a legitimate purpose, store data securely, keep it no longer than needed and never use it to harass, stalk, track or contact people without consent.

**Can I use it to find a specific person?**
No. This actor is designed for research and analysis on public profiles at scale. Do not use it to monitor, track or expose individuals.

**Why did I get fewer profiles than requested?**
Only profiles indexed by search engines can be found, so rare names return fewer profiles. The actor stops automatically when no more profiles exist for your search. Add more keywords (names, cities) to get more.

**Why are some fields `N/A`?**
Many users leave their bio or interests empty, and some search results show a shortened title. Turn on **Fetch Profile Details** to read the full profile page.

**Do I need a Badoo account or API key?**
No. Just enter your keywords and run the actor.

### 💰 Pricing

Simple pay-per-result model: you only pay for the profiles you collect.

**Price: $9.99 per 1,000 profiles** 💵

### ⚠️ Disclaimer

This tool is **not affiliated with, endorsed by, or sponsored by Badoo (badoo.com)** or Bumble Inc. Users are responsible for complying with applicable laws, including data-protection laws, and with Badoo's terms of use.

### 🔗 Related actors

- [Tinder Profile Scraper 🔥](https://apify.com/contactminerlabs)
- [YouTube Email & Phone Scraper 📧📞](https://apify.com/scrapestorm/youtube-email-phone-scraper)
- [Instagram Email Scraper – Advanced, Cheapest & Reliable 📧⚡📷](https://apify.com/contactminerlabs/instagram-email-scraper---advanced-cheapest-reliable)
- [Facebook Email Scraper – Advanced, Cheapest & Reliable 📧⚡📷](https://apify.com/contactminerlabs/facebook-email-scraper---advanced-cheapest-reliable)

### 📫 Support

😊 Leave us a ⭐⭐⭐⭐⭐ review if you like the Badoo Profile Scraper!
🌍 Questions, custom needs or issues? Contact us through Apify or via [ContactMinerLabs 🌩️](https://apify.com/contactminerlabs).

# Actor input Schema

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

One or more first names, cities or 'name + city' combinations to search public Badoo profiles for. Each keyword is scraped separately, up to 'MAX_ITEMS' per keyword.

## `MAX_ITEMS` (type: `integer`):

Maximum number of profiles to extract per keyword

## `FETCH_PROFILE_DETAILS` (type: `boolean`):

When enabled, the scraper opens each public Badoo profile page to extract additional details such as bio, interests and all public photos. When disabled, only search result data is extracted (name, gender, age, city, country).

## Actor input object example

```json
{
  "keywords": [
    "Sarah",
    "John",
    "Alex"
  ],
  "MAX_ITEMS": 30,
  "FETCH_PROFILE_DETAILS": false
}
```

# Actor output Schema

## `overview` (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": [
        "Sarah",
        "John",
        "Alex"
    ],
    "MAX_ITEMS": 30,
    "FETCH_PROFILE_DETAILS": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("contactminerlabs/badoo-profile-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": [
        "Sarah",
        "John",
        "Alex",
    ],
    "MAX_ITEMS": 30,
    "FETCH_PROFILE_DETAILS": False,
}

# Run the Actor and wait for it to finish
run = client.actor("contactminerlabs/badoo-profile-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": [
    "Sarah",
    "John",
    "Alex"
  ],
  "MAX_ITEMS": 30,
  "FETCH_PROFILE_DETAILS": false
}' |
apify call contactminerlabs/badoo-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,contactminerlabs/badoo-profile-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/z0lhGyQE2rBcsHbcQ/builds/xjwPPl9NWDyhWWIJK/openapi.json
