# Gmail Username Availability Checker (`maximedupre/gmail-username-checker`) Actor

Check consumer Gmail registration availability for bare usernames or full @gmail.com addresses. Get definitive available or taken rows with the submitted value, normalized username, and check time.

- **URL**: https://apify.com/maximedupre/gmail-username-checker.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Developer tools, Automation, Business
- **Features:** Limited permissions
- **Stats:** 491 total users, 11 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $6.30 / 1,000 username checks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

### 📬 Check Gmail username availability in bulk

For founders, marketers, developers, and anyone choosing a new Gmail address, Gmail Username Availability Checker checks bare usernames and full `@gmail.com` addresses. It saves a row only when Gmail returns a definitive `available` or `taken` result, with the submitted value, normalized username, status, and UTC check time. Use these rows to compare candidates before choosing an address.

- Use **[Professional Email Address Examples](https://apify.com/maximedupre/gmail-username-checker/examples/professional-email-address-examples)** to test candidate Gmail names before choosing a professional address.
- Check **[Gmail Username Availability](https://apify.com/maximedupre/gmail-username-checker/examples/gmail-username-availability)** to see whether a submitted Gmail name is available.
- Use **[Unique Email ID Names](https://apify.com/maximedupre/gmail-username-checker/examples/unique-email-id-names)** to compare distinctive Gmail address ideas.
- Run **[Brand Gmail Name Checker](https://apify.com/maximedupre/gmail-username-checker/examples/brand-gmail-name-checker)** to compare Gmail address ideas for a brand or project.
- Use **[Gmail Address List Checker](https://apify.com/maximedupre/gmail-username-checker/examples/gmail-address-list-checker)** to check a pasted list of usernames and Gmail addresses in one run.
- Use **[Gmail Username Deduplication](https://apify.com/maximedupre/gmail-username-checker/examples/gmail-username-deduplication)** to avoid checking equivalent candidates more than once in a run.
- Schedule **[Gmail Handle Availability Monitor](https://apify.com/maximedupre/gmail-username-checker/examples/gmail-handle-availability-monitor)** to check a shortlist again as its availability changes.

#### 📦 Gmail availability results

Each saved row is one definitive consumer Gmail registration-availability check. Invalid candidates and unresolved source responses are not emitted as availability rows, so the Actor does not guess an `available` or `taken` status.

#### ▶️ Check Gmail names in one run

1. Add one or more bare Gmail usernames or full `@gmail.com` addresses to **Gmail usernames**.
2. Start the Actor.
3. Open the default dataset to filter, download, or automate the definitive rows.

You can paste one value per line or separate values with commas or spaces, and you can mix these formats. Equivalent usernames are checked once per run. The first eligible occurrence is saved, and later equivalent submissions are ignored.

#### ⚙️ Input

The public input has one required field, `targets`. It accepts 1 to 500 strings. Use bare Gmail usernames or full `@gmail.com` addresses. Usernames must be 6 to 30 characters and use only letters, numbers, or periods. Other domains are not checked.

**Input example**

This is the public input from a successful hosted default-input run.

```json
{
  "targets": [
    "maximedupre@gmail.com",
    "gmailusernamechecker2026",
    "MAXIMEDUPRE",
    "not-an-email@yahoo.com"
  ]
}
```

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `targets` | array of strings | Required list of 1 to 500 bare Gmail usernames or full `@gmail.com` addresses. Usernames must be 6 to 30 characters and use only letters, numbers, or periods. Values may be pasted one per line, separated with commas or spaces, or mixed. |

#### 🧾 Output

Every saved row has the same shape. Invalid candidates and unresolved source responses do not produce availability rows.

**Output fields**

| Field | Type | What it does |
| --- | --- | --- |
| `input` | string | Submitted username or Gmail address that produced the row. |
| `username` | string | Normalized lowercase Gmail username. |
| `availabilityStatus` | string | Definitive Gmail registration status, either `available` or `taken`. |
| `checkedAt` | string (date-time) | UTC date and time when the availability check was performed. |

**Output example**

This genuine row is from a successful current-beta default-input run.

```json
{
  "input": "gmailusernamechecker2026",
  "username": "gmailusernamechecker2026",
  "availabilityStatus": "available",
  "checkedAt": "2026-09-16T07:17:00.358Z"
}
```

Open the default dataset or its API link to filter, download, or automate the saved rows. You can also download them in formats such as JSON, CSV, and Excel.

#### 💳 Pricing

This Actor uses pay-per-event pricing. The `gmail-username-checked` event is tied to one definitive availability row saved to the dataset.

#### 🔌 Integrations

Use Apify datasets, the API, schedules, and webhooks to send results into spreadsheets or your own workflow. This walkthrough shows how to connect an Actor through the Apify API:

https://www.youtube.com/watch?v=bNACk1_S_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### What happens when Gmail returns a 4xx or unrecognized response?

It is not treated as an `available` or `taken` verdict. That candidate does not create an availability row, and definitive rows already saved remain available.

##### Why can a valid-looking candidate produce no dataset row?

Gmail can reject a candidate or return an unclear response. The reason is recorded in the run when available, and neither case is guessed as `available` or `taken`.

##### Is this an official Google or Gmail tool?

No. This is an independent Apify Actor that checks Gmail's registration-availability response. It is not affiliated with or endorsed by Google.

##### Does it create or reserve Gmail accounts?

No. It only checks registration availability. It does not create, reserve, sign in to, or manage Google accounts or inboxes.

##### Can it verify whether an existing email inbox receives mail?

No. Availability checking is different from email verification. Use an email verification Actor when you already have addresses and need syntax, MX, or mailbox evidence.

##### Can it check Google Workspace or custom domains?

No. It accepts only bare Gmail usernames and `@gmail.com` addresses.

##### Can I schedule repeated checks?

Yes. Apify schedules can run the same input again. Availability reflects the time in `checkedAt` and may change later.

### 📝 Changelog

**v2.0** (16-09-2026)

- Output rows now contain the submitted value, normalized username, availability status, and check time.
- Invalid Gmail usernames show that processing continues, while valid candidates still produce results.

**v1.0** (11-09-2026)

- Saves only definitive available or taken Gmail username results with normalized addresses and check times.

**v0.1**

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~gmail-username-checker/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [SMTP Email Verifier](https://apify.com/maximedupre/smtp-email-verifier): Check known email addresses with syntax, MX, SMTP, catch-all, and risk evidence.
- [Email MX Verifier](https://apify.com/maximedupre/email-mx-verifier): Clean known email lists with syntax, DNS, disposable-domain, role-address, and typo checks.
- [Website Email Scraper](https://apify.com/maximedupre/website-emails-scraper): Find public contact addresses on a submitted list of websites.
- [Person Email Finder — Name + Company to Email API](https://apify.com/maximedupre/business-email-finder): Infer business email candidates from a person's name and known company domain.
- [Gmail Username Availability — Bulk Email Registration Checker](https://apify.com/maged120/gmail-availability): Check a list of Gmail names for registration availability in one run.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `targets` (type: `array`):

Enter bare Gmail usernames or full @gmail.com addresses. Usernames must be 6 to 30 characters and use only letters, numbers, or periods. You can paste one value per line, separate values with commas or spaces, or mix these formats. Other domains are not checked.

## Actor input object example

```json
{
  "targets": [
    "maximedupre@gmail.com",
    "gmailusernamechecker2026",
    "MAXIMEDUPRE",
    "not-an-email@yahoo.com"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Open the default dataset overview of definitive Gmail username availability checks.

# 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 = {
    "targets": [
        "maximedupre@gmail.com",
        "gmailusernamechecker2026",
        "MAXIMEDUPRE",
        "not-an-email@yahoo.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/gmail-username-checker").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 = { "targets": [
        "maximedupre@gmail.com",
        "gmailusernamechecker2026",
        "MAXIMEDUPRE",
        "not-an-email@yahoo.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/gmail-username-checker").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 '{
  "targets": [
    "maximedupre@gmail.com",
    "gmailusernamechecker2026",
    "MAXIMEDUPRE",
    "not-an-email@yahoo.com"
  ]
}' |
apify call maximedupre/gmail-username-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/gmail-username-checker"
        }
    }
}
```

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/axPJyvBH1DPy6fRpm/builds/hZycypcZhitU2y4Lz/openapi.json
