🔎Subdomain Finder API
Performs an advanced scan to find most subdomains of a provided domain.
The API host for all tools is tools.datalabs.net.
Subdomain Finder
POST https://tools.datalabs.net/subdomainFinder
Host: tools.datalabs.net
Content-Type: application/json
{
"key": "DATALABS_API_KEY", // Required - DataLabs API Key
"domain": "example.com" // Required - Domain to be checked
}
import requests
api_key = "DATALABS_API_KEY"
tool = "subdomainFinder"
domain = "example.com"
url = f"https://tools.datalabs.net/{tool}?key={api_key}&domain={domain}"
headers = {
'Host': 'tools.datalabs.net'
}
response = requests.get(url, headers=headers)
try:
response_data = response.json()
except ValueError:
response_data = response.text
print(response_data)
const axios = require('axios');
const api_key = "DATALABS_API_KEY";
const tool = "subdomainFinder";
const domain = "example.com";
const url = `https://tools.datalabs.net/${tool}?key=${api_key}&domain=${domain}`;
const headers = {
'Host': 'tools.datalabs.net'
};
axios.get(url, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
if (error.response) {
console.log(error.response.data);
} else {
console.log(error.message);
}
});
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
apiKey := "DATALABS_API_KEY"
tool := "subdomainFinder"
domain := "example.com"
url := fmt.Sprintf("https://tools.datalabs.net/%s?key=%s&domain=%s", tool, apiKey, domain)
req, err := http.NewRequest("GET", url, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
req.Header.Set("Host", "tools.datalabs.net")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making HTTP request:", err)
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fmt.Printf("Non-OK HTTP status: %s\n", resp.Status)
return
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response body:", err)
return
}
var responseData map[string]interface{}
if err := json.Unmarshal(body, &responseData); err != nil {
fmt.Println("Error unmarshaling JSON:", err)
fmt.Println(string(body))
} else {
fmt.Println(responseData)
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json; // Ensure this directive is present for JsonReaderException
class Program
{
static void Main(string[] args)
{
// Call the async method
MainAsync(args).GetAwaiter().GetResult();
}
static async Task MainAsync(string[] args)
{
string apiKey = "DATALABS_API_KEY";
string tool = "subdomainFinder";
string domain = "example.com";
string url = string.Format("https://tools.datalabs.net/{0}?key={1}&domain={2}", tool, apiKey, domain);
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Host", "tools.datalabs.net");
try
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
try
{
var responseData = JObject.Parse(responseBody);
Console.WriteLine("Response data:");
Console.WriteLine(responseData);
}
catch (JsonReaderException jsonEx)
{
Console.WriteLine("JSON Parsing error: " + jsonEx.Message);
Console.WriteLine("Response body:");
Console.WriteLine(responseBody);
}
}
catch (HttpRequestException e)
{
Console.WriteLine("Request error: " + e.Message);
}
}
}
}
Example Response
{
"success": true,
"subdomains": [
{
"subdomain": "subdomain1.example.com",
"ip": "none",
"cloudflare": true
},
{
"subdomain": "subdomain2.example.com",
"ip": "122.198.12.142",
"cloudflare": false
},
{
"subdomain": "subdomain3.example.com",
"ip": "174.205.98.77",
"cloudflare": true
},
{
"subdomain": "subdomain4.example.com",
"ip": "none",
"cloudflare": false
}
],
"cached": true,
"cache_time": "20XX-XX-XX 00:36:03"
}
```
Last updated