Wesbos Burner Email Providers API (v1)
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
This project is a free API wrapper for the burner email providers list created by wesbos.
Get Involved - Report New Disposable Email Address Domains
This API is only as good as the data provided by The Community. Please get involved in the project by keeping a look out for any new Disposable Domains
If you find a burner email address provider (AKA DEAs) not included on the list, please submit pull requests here.
Possible Use Cases
- Stopping disposable email addresses from signing up to your blog or forum.
- Risk scoring for on-boarding new clients.
Caveats and Limitations
This service is hosted by Email Hippo and is offered as a free service to The Community. As a free service, there are no Service Level Agreements or other guarantees or warranties provided.
Speed and Throttling
To ensure fair usage and a good performance experience for everyone, there are controls in place to restrict the speed at which you can use this service. The maximum speed permitted is 10 queries per second - after that the service will return HTTP code 429 (slow down) for a duration of 1 minute.
Coverage and Accuracy
The data returned is derived from the wesbos Github repo and while there are a lot of domains on the list, this is only a small subset of the Disposable Email Address domains known to Email Hippo in it's Email Verification API. That being said, the wesbos list is fairly good and certainly better than having nothing in place to protect your sign up against from abuse from DEAs.
Support
Officially, this is an unsupported service that is offered on a best efforts basis and can be withdrawn at any time. However, if you have any issues or suggestions, please feel free to raise these on the Github repo and we'll look into it as soon as we are able.
Integrations
Client / Server Libraries
There is a comprehensive catalog of client and server code snippets and libraries available over at SwaggerHub.
Examples of client & server code @ SwaggerHub
- PHP
- ASP.NET core
- Android
- C#
- Spring
- Haskell
To access these, visit SwaggerHub and click the "Export" option on the top right of the page.
Base URLs
Disposable Emails API
Query Disposable Email Address (DEA) records from Wesbos Github repo.
V1 API
Code samples
# You can also use wget
curl -X GET https://api.disposable-email-detector.com/api/dea/v1/check/{query} \
-H 'Accept: application/json'
GET https://api.disposable-email-detector.com/api/dea/v1/check/{query} HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.disposable-email-detector.com/api/dea/v1/check/{query}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
URL obj = new URL("https://api.disposable-email-detector.com/api/dea/v1/check/{query}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.disposable-email-detector.com/api/dea/v1/check/{query}',
params: {
}, headers: headers
p JSON.parse(result)
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('/api.disposable-email-detector.com/api/dea/v1/check/{query}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.disposable-email-detector.com/api/dea/v1/check/{query}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/dea/v1/check/{query}
Check if an email address or domain is a Disposable Email Address (DEA).
Lookup a domain or email address against the Wesbos Github DEA list.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
query | path | string | true | The domain or email address to query. |
Example responses
200 Response
{
"doc": "string",
"query": "string",
"result": {
"isDisposable": true,
"error": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | DisposableDomainResult |
400 | Bad Request | Bad request. Request is empty/null or exceeds the maximum allowed length of 255 characters. | None |
429 | Too Many Requests | Maximum processing rate exceeded. Please slow your requests to < 10 queries per second. | None |
500 | Internal Server Error | Server error. | None |
Schemas
DisposableDomainResult
{
"doc": "string",
"query": "string",
"result": {
"isDisposable": true,
"error": "string"
}
}
The result that shows whether the domain is disposable together with any error information.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
doc | string | false | none | The documentation URL. |
query | string | false | none | The query (i.e the domain name to check against the main wesbos list). |
result | DisposableDomainMessage | false | none | Disposable Domain Message |
DisposableDomainMessage
{
"isDisposable": true,
"error": "string"
}
Disposable Domain Message
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
isDisposable | boolean | false | none | Whether this domain is a disposable domain. |
error | string | false | none | If there is an error, the message is described here. |