Introducing Our Free API Service: CheckDomain
Written by Jeff on December 31, 2024Introducing Our Free API Service: CheckDomain
Are you looking for a quick and reliable way to check domains against blocklists or validate their DNS registration? Look no further! Our free API service, CheckDomain, is here to make domain checks seamless and efficient. Built with simplicity and performance in mind, this API provides robust tools for developers, researchers, and cybersecurity enthusiasts.
How It Works
Our API serves two primary purposes:
-
Blocklist Checking:
- Verify if a domain or IP is listed in our extensive blocklists, which currently include:
- Domain Blocklist: Over 5.9 million entries.
- IP Blocklist: Over 87,000 entries.
- Whether you're building a cybersecurity solution or want to enforce stricter security policies, our blocklists can help you stay ahead of potential threats.
- Verify if a domain or IP is listed in our extensive blocklists, which currently include:
-
DNS Validation:
- If a domain isnโt found in our blocklist, we query the DNS records to validate its registration status.
- Quickly determine if a domain is valid or currently unregistered.
Key Features
๐ Real-Time Metrics
Weโve built robust analytics to ensure transparency and performance monitoring. Here are some of our recent stats for the Free API:
- API Requests: Over 2 million in the last 24 hours, a 125% growth!
- DNS Requests: Over 4 million in the same period, a 119% growth.
- Success Rate: Out of 1.1 million API requests, only 972 errors were recorded (less than 0.1%).
โก Fast Response Times
- DNS Resolution Time (Free API):
- Average: 749ms
- Maximum: 817ms
- Minimum: 698ms
- Future Private and Dedicated API options will significantly boost response times, ensuring even faster and more reliable results for high-demand applications.
๐ง Error Handling
We categorize errors to provide meaningful feedback:
- Domain Not Found in Database: Indicates the domain isn't on our blocklist.
- DNS Resolution Error: Suggests the domain might be unregistered or invalid.
Why Use CheckDomain?
-
Free API with Open Source Frontend:
- While the API is free to use, the underlying backend code has been modified from the original Cloudflare Workers-based implementation to support larger datasets and is currently closed source. However, the frontend code remains open-source. You can find the Domain Checker frontend code on GitHub: Domain Checker Repository.
-
Extensive Blocklists:
- With millions of domains and thousands of IPs listed, you get comprehensive protection against potentially harmful entities.
-
Ease of Integration:
- Our API is developer-friendly, with straightforward endpoints and clear documentation to get you started quickly.
-
Scalable for Growth:
- As your needs grow, our API scales effortlessly to handle increased traffic.
Getting Started
Itโs simple to start using CheckDomain:
- Visit our GitHub repository for the frontend documentation: GitHub - Domain Checker.
- Integrate the API into your application using our sample requests and examples.
- Start performing blocklist checks and DNS validations instantly!
Example Usage
Blocklist Check:
You can check the blocking status of a single domain with the following cURL command:
cURL Command:
curl -X GET 'https://check.skiddle.id/?domain=example.com'
Expected Output:
example.com: Not Blocked!
Batch Search for Domains
Batch search functionality allows you to query multiple domains simultaneously. Note the following restrictions:
- Maximum Domains: Only search up to 30 domains at a time.
- API Update: Use new API links for more robust batch searches.
cURL Command:
curl -X GET 'https://check.skiddle.id/?domains=example.com,reddit.com'
Expected Output:
example.com: Not Blocked!
reddit.com: Blocked!
JSON Output
This API also supports JSON output for easier integration with other tools and scripts.
Single Domain
For a single domain, append the json=true
parameter to the request.
cURL Command:
curl -X GET 'https://check.skiddle.id/?domain=example.com&json=true'
Expected Output:
{"example.com":{"blocked":false}}
Batch Domains
For multiple domains, the JSON output structure is slightly different. Use the domains
parameter along with json=true
.
cURL Command:
curl -X GET 'https://check.skiddle.id/?domains=example.com,reddit.com&json=true'
Expected Output:
{"example.com":{"blocked":false},"reddit.com":{"blocked":true}}