Scrape Website Email API
scrapewebsite · Communication
ScrapeWebsiteEmail is a service that exposes an api to fetch e-mails from a website.
Authentication
Sample Requests
Returns a list of emails scraped by priority (ie. e-mails appear on top level pages are first). Please note that subsequent calls to the same url will be fetched from the cache (14 day flush). Will also parse patterns such as hello[at]site.com, hello[at]site[dot]com, hello(at)site.c
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json?website=example&must_include=example"
import requests
params = {
"website": "example",
"must_include": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json');
url.searchParams.set('website', 'example');
url.searchParams.set('must_include', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json")
q := baseURL.Query()
q.Set("website", "example")
q.Set("must_include", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json")
uri.query = URI.encode_www_form({
"website" => "example",
"must_include" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_emails.json?" . http_build_query([
"website" => "example",
"must_include" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Attempts to grab the google store url or the ios store url for a site, after searching through the site.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json?website=example"
import requests
params = {
"website": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json');
url.searchParams.set('website', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json")
q := baseURL.Query()
q.Set("website", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json")
uri.query = URI.encode_www_form({
"website" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/scrape_store_links.json?" . http_build_query([
"website" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns ‘pong’ if the site is up
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/scrapewebsite.email/0.1/v1/ping.json";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Scrape Website Email API?
Scrape Website Email API is a Communication API. Developers commonly use communication APIs for:
- sending SMS alerts and notifications
- building in-app chat and messaging features
- automating email sequences and transactional emails
- creating voice bots and IVR systems
- verifying phone numbers at signup
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Scrape Website Email API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide