Log inStart creating →
AUTOMATION

An email account creator bot that can report what it did.

Most account creation bots are a browser script that breaks the week a provider changes a form. MailMaker gives automation a task API instead, so a batch has an ID, a state, and a result you can reconcile.

Create accounts →See how it works
✓ Failed items use zero credits  ·  No subscription
CREATE TASK
ProviderMulti-provider
Quantity100 accounts
Estimated totalCalculated by provider
Failed? Credits returned.
THE SHORT VERSION

One request creates the batch, one ID tracks it, and anything that fails costs nothing.

Providers5

Gmail, Yahoo, Outlook, Proton, and iCloud

Request safetyIdempotent

A timeout does not turn into a duplicate batch

Failed items0 credits

Reserved credits return to your balance

100%credit-back guarantee

Successful accounts consume credits. Failed accounts do not. Any credits reserved for a failed item return to your MailMaker balance automatically.

Read the guarantee →
01 · WHY SCRIPTS BREAK

A browser script is the wrong place to put your batch logic.

Scripted signup flows fail for boring reasons. A field gets renamed, a step is reordered, a challenge appears for one region and not another. The script does not know any of that happened; it just returns fewer accounts than expected, and nobody can say which ones or why.

Moving the work behind a task API changes what your code is responsible for. Your side sends a provider and a quantity and keeps an identifier. The provider-specific fragility stays on our side, where it is monitored as infrastructure rather than discovered by your cron job at 3am.

  • No headless browser to maintain
  • No selector drift to debug
  • Failures are reported, not silently dropped
  • The same contract for all five providers
02 · THE TASK CONTRACT

What one automated batch actually looks like.

A creation request carries a provider, a quantity, and an idempotency key you generate. The response returns a task ID and the credit estimate for that batch. Nothing streams and nothing blocks; your request returns immediately and the batch continues on our side.

From there your worker reads the task by ID until it reports completed, partial, or failed. Those three are terminal. Everything your finance or ops team later asks about the batch can be answered from that one ID: what was asked for, what completed, what failed, and what it cost.

  • POST once with an idempotency key
  • Store the returned task ID immediately
  • Read state until it is terminal
  • Fetch the finished accounts once
03 · PROVIDER SELECTION IN CODE

The provider is a cost decision, so make it an explicit one.

Gmail and Yahoo cost one credit per successful account, Outlook and Proton cost two, and iCloud costs three. A bot that treats the provider as a configurable default will eventually run an iCloud batch at three times the expected cost because someone changed an environment variable.

Keep the provider on an allowlist, compute the worst-case credit total before the call, and compare it against both the balance and the job's approved ceiling. A 500-account iCloud batch reserves up to 1,500 credits, which is worth failing locally rather than discovering in the ledger.

  • Gmail and Yahoo: 1 credit each
  • Outlook and Proton: 2 credits each
  • iCloud: 3 credits each
  • Compute the ceiling before the request, not after
04 · GUARDRAILS

The useful part of a bot is what it refuses to do.

Automation removes the pause where a human would have noticed something wrong. Put that pause back in as code: reject an unknown provider, a quantity above the approved ceiling, a job with no named owner, and anything that would push the estimated cost past the budget for that workload.

Separate your test and live API keys, cap how many batches can run at once per client or environment, and keep finished account data out of your application logs. None of this is exotic, but it is the difference between an automation you can hand to someone else and one only its author can operate.

  • Provider allowlist
  • Quantity and credit ceiling per job
  • Separate test and live keys
  • Concurrency cap per client or environment
  • Account data never enters logs
QUESTIONS

What teams ask before they start.

Is this a downloadable bot?−

No. There is nothing to install. MailMaker exposes a REST API, and your own service or scheduler calls it. That means there is no browser automation to keep working when a provider changes its signup flow.

What stops a retry from creating a second batch?+

Send an idempotency key with the creation request. If a timeout leaves you unsure whether the batch was accepted, retrying with the same key resolves to the original task instead of creating a new one.

How does the bot know a batch is finished?+

Read the task by its ID on a backoff schedule and stop when it reports completed, partial, or failed. Do not infer completion from elapsed time; a partial batch looks identical to a slow one until you read the state.

What happens to credits when accounts fail?+

Failed items consume zero credits. If credits were reserved while the item was processing, they return to your balance automatically, so a partial batch is charged only for the accounts that completed.

Can I automate more than one provider?+

Yes. All five providers use the same request shape and the same task lifecycle. Only the credit rate differs, so a multi-provider workflow is a routing decision in your code rather than a second integration.

READY WHEN YOU ARE

Credits in. Accounts out.

Start with the provider already selected. If an item fails, its credits return automatically.

Create your first task →