REST API - Programmatischer Zugang6 min read3 sections

Code Examples

Ready-to-use code examples in curl, Python, Node.js, and PHP for all API endpoints.

01

Python

Python - requests

import requests

API_TOKEN = "pt_your_token_here"
BASE_URL = "https://provider.tools/api/v1"
HEADERS = {"Authorization": f"Bearer {API_TOKEN}"}

# DNS Check
resp = requests.get(f"{BASE_URL}/dns-check", params={"domain": "example.com"}, headers=HEADERS)
data = resp.json()
if data["success"]:
    print(f"A Records: {data['data']['a']}")
    print(f"MX Records: {data['data']['mx']}")

# SSL Check
resp = requests.get(f"{BASE_URL}/ssl-check", params={"domain": "example.com"}, headers=HEADERS)
ssl = resp.json()["data"]
print(f"SSL expires in {ssl['daysRemaining']} days")

# Blacklist Check
resp = requests.get(f"{BASE_URL}/blacklist-check", params={"ip": "1.2.3.4"}, headers=HEADERS)
bl = resp.json()["data"]
print(f"Listed on {bl['listedCount']} out of {bl['totalChecked']} blacklists")

# DMARC Check
resp = requests.get(f"{BASE_URL}/dmarc-check", params={"domain": "example.com"}, headers=HEADERS)
dmarc = resp.json()["data"]
if dmarc["dmarc"]["found"]:
    print(f"DMARC Policy: {dmarc['dmarc']['tags'].get('p', 'none')}")

# List monitored hosts
resp = requests.get(f"{BASE_URL}/monitoring/hosts", headers=HEADERS)
for host in resp.json()["data"]:
    print(f"{host['host']}: {host['status']} ({host['listedCount']} listed)")
02

Node.js

Node.js - fetch (built-in)

const API_TOKEN = 'pt_your_token_here';
const BASE_URL = 'https://provider.tools/api/v1';
const headers = { 'Authorization': `Bearer ${API_TOKEN}` };

// DNS Check
const dns = await fetch(`${BASE_URL}/dns-check?domain=example.com`, { headers });
const dnsData = await dns.json();
console.log('A Records:', dnsData.data.a);

// SSL Check
const ssl = await fetch(`${BASE_URL}/ssl-check?domain=example.com`, { headers });
const sslData = await ssl.json();
console.log(`SSL expires in ${sslData.data.daysRemaining} days`);

// Blacklist Check
const bl = await fetch(`${BASE_URL}/blacklist-check?ip=1.2.3.4`, { headers });
const blData = await bl.json();
console.log(`Listed: ${blData.data.listedCount}/${blData.data.totalChecked}`);

// DMARC Domains
const domains = await fetch(`${BASE_URL}/dmarc/domains`, { headers });
const domainData = await domains.json();
domainData.data.forEach(d => console.log(`${d.domain}: ${d.totalReports} reports`));
03

curl / Bash

curl - Shell one-liners

# Set token once
export PT_TOKEN="pt_your_token_here"

# DNS Check
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/dns-check?domain=example.com" | jq .

# SSL Check
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/ssl-check?domain=example.com" | jq '.data.daysRemaining'

# Blacklist Check
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/blacklist-check?ip=1.2.3.4" | jq '.data.listedCount'

# DMARC Check
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/dmarc-check?domain=example.com" | jq .

# Monitoring Hosts
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/monitoring/hosts" | jq '.data[] | {host, status, listedCount}'

# DMARC Domains + Reports
DOMAIN_ID=$(curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/dmarc/domains" | jq -r '.data[0].id')
curl -s -H "Authorization: Bearer $PT_TOKEN" \
  "https://provider.tools/api/v1/dmarc/domains/$DOMAIN_ID/reports?limit=5" | jq .