---
name: disposable-email-domains-ingestion
description: "How to get Disposable Email Domains blocklist data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load disposable email domains into pandas and Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/disposable-email-domains
Provider: https://github.com/disposable-email-domains/disposable-email-domains
Checked against the provider's documentation: 2026-11-01

## Access
- No account or key. The newline-delimited blocklist is a public raw file.

## Request
```bash
curl -O 'https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/disposable_email_blocklist.conf'
```

## Format
UTF-8 plain text with one lowercase disposable-email domain per line, sorted alphabetically and written without an @ sign.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""Disposable Email Domains blocklist -> pandas -> Parquet. No key."""
import io

import pandas as pd
import requests

URL = "https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/disposable_email_blocklist.conf"
r = requests.get(URL, timeout=60)
r.raise_for_status()
domains = [line.strip() for line in io.StringIO(r.text) if line.strip() and not line.startswith("#")]
df = pd.DataFrame({"domain": domains})
df["labels"] = df["domain"].str.count(r"\.") + 1
df.to_parquet("disposable_email_domains.parquet", index=False)
print(len(df), "domains", "first", df["domain"].iloc[0], "sorted", df["domain"].is_monotonic_increasing)
```
Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 10115 domains first 0-mail.com sorted True

## Limits
- Rate limit: Not stated.
- No update cadence is promised.
- The file is a current blocklist, not a dated historical series.

## Quirks
- The maintainers say some listed domains may no longer be disposable.
- Match the input domain and its parent labels; public-suffix cases can require a third-level entry.
- A listing is an account-abuse screening signal, not evidence that an address or registrant is malicious. Do not visit or fetch listed domains.

## Terms and attribution
- The work is dedicated under CC0 1.0.
- The project permits copying, modification, distribution and commercial use without asking permission.
- Terms page: https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/README.md

## Sources
- https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/README.md: "This repo contains a [list of disposable and temporary email address domains](disposable_email_blocklist.conf) often used to register dummy users in order to spam or abuse some services."
- https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/README.md: "We cannot guarantee all of these can still be considered disposable but we do basic checking so chances are they were disposable at one point in time."
- https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/README.md: "You can copy, modify, distribute and use the work, even for commercial purposes, all without asking permission."

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
