7AZZANI API Documentation
Powerful security scanning, performance testing, and web tools API for developers
Overview
The 7AZZANI API provides programmatic access to our suite of security scanning, performance testing, and web utility tools. Build powerful integrations, automate security checks, and monitor website performance at scale.
Security Scanner
Detect vulnerabilities, malware, and security issues in websites
Performance Testing
Analyze Core Web Vitals, page speed, and optimization opportunities
Web Utilities
Speed tests, URL shortener, domain lookup, and more tools
Why Choose 7AZZANI API?
- Enterprise-Grade Security: Advanced vulnerability detection and threat analysis
- Real-Time Analysis: Get instant results with our high-performance infrastructure
- Comprehensive Reporting: Detailed reports with actionable recommendations
- Open Source & Free: Community-driven platform with unlimited free access for developers
Getting Started
API Access is FREE!
Create a free account and get unlimited API access. No credit card required.
Create an Account
Sign up for a free 7AZZANI account to access the API:
New User
- Visit the signup page
- Enter your email and create a password
- Verify your email (optional but recommended)
- You're ready to create API keys!
Generate API Key
After logging in, visit your API dashboard to create an API key:
- Go to API Dashboard
- Click "Create New Key"
- Give your key a descriptive name (e.g., "Production App", "Development")
- Optionally add IP restrictions for enhanced security
- Copy your API key (starts with
7AZ_)
Important Security Notice:
- β’ Store your API key securely - it won't be shown again
- β’ Never commit API keys to version control
- β’ Use environment variables in production
- β’ Rotate keys regularly for security
Make Your First Request
Use your API key to authenticate requests:
curl -H "Authorization: Bearer 7AZ_YOUR_API_KEY" \
https://7azzani.com/api/scans/statistics/
All requests must include the Authorization header with your API key.
β Success Response (200 OK):
{
"total_scans": 42,
"completed_scans": 38,
"vulnerabilities_found": 156,
"critical_issues": 12
}
What You Get
Security Scanner
Scan websites for vulnerabilities
Speed Test
Network bandwidth testing
URL Shortener
Create and track short links
Domain Lookup
WHOIS and DNS analysis
QR Codes
Generate QR codes with tracking
Analytics
Usage tracking and insights
API Endpoints
Import into Swagger, Postman, or other tools
Base URL: https://7azzani.com
All endpoints require Authorization: Bearer YOUR_API_KEY header
π‘οΈ Security Scanner
Scan websites for vulnerabilities, security issues, and misconfigurations.
/api/scans/
List all your security scans
/api/scans/quick_scan/
Perform a quick security scan
View Request/Response
Request Body:
{
"url": "https://example.com",
"scan_type": "quick" // Options: "quick", "standard", "deep"
}
Response (201 Created):
{
"scan_id": "abc123-def456",
"url": "https://example.com",
"status": "scanning",
"status_url": "/api/scans/abc123-def456/status/"
}
/api/scans/{id}/status/
Check scan status and progress
/api/scans/{id}/report/
Get detailed vulnerability report
/api/scans/statistics/
Get overall scanning statistics
β‘ Speed Test
Run network speed tests and measure bandwidth, latency, and jitter.
/speedtest/api/v1/run/
Run a network speed test
View Request/Response
Response (200 OK):
{
"test_id": "speed-789xyz",
"download_speed": 95.4,
"upload_speed": 45.2,
"ping": 12,
"jitter": 3.2,
"server_location": "New York, US"
}
/speedtest/api/v1/history/
Get your speed test history
/speedtest/api/analytics/
Get speed test analytics and trends
π URL Shortener (ShrinkIt)
Create shortened URLs with analytics and tracking.
/shrinkit/api/shorten/
Create a shortened URL
View Request/Response
Request Body:
{
"url": "https://example.com/very/long/url/here",
"custom_code": "mylink" // Optional
}
Response (201 Created):
{
"short_url": "https://7azzani.com/s/mylink",
"short_code": "mylink",
"original_url": "https://example.com/very/long/url/here",
"created_at": "2024-01-15T10:30:00Z"
}
/shrinkit/api/toggle/{url_id}/
Enable/disable a URL
/shrinkit/api/delete/{url_id}/
Delete a shortened URL
/shrinkit/{short_code}/stats/
Get click statistics for a URL
π Domain Lookup
Perform WHOIS lookups and DNS record analysis.
/lookup/api/lookup/
Perform domain/IP lookup
View Request/Response
Request Body:
{
"domain": "example.com",
"lookup_type": "all" // Options: "whois", "dns", "all"
}
Response (200 OK):
{
"domain": "example.com",
"registrar": "Example Registrar Inc.",
"created_date": "1995-08-14",
"expiry_date": "2024-08-13",
"dns_records": {
"A": ["93.184.216.34"],
"MX": ["mail.example.com"]
}
}
/lookup/history/
Get your lookup history
π± QR Code Generator
Generate customizable QR codes with tracking and analytics.
/qr/api/preview/
Generate QR code preview
View Request/Response
Request Body:
{
"qr_type": "url",
"content": "https://example.com",
"style": {
"color": "#000000",
"background": "#FFFFFF"
}
}
Response (200 OK):
{
"preview_url": "/media/qr/preview_abc123.png",
"qr_code_base64": "data:image/png;base64,..."
}
/qr/api/content-form/{qr_type}/
Get form fields for QR code type
Types: url, text, email, phone, wifi, vcard
β οΈ Error Responses
Common error responses across all endpoints:
{
"error": "Authentication required",
"message": "Please provide a valid API key"
}
{
"error": "Rate limit exceeded",
"message": "Maximum 10 requests per second",
"retry_after": 1
}
{
"error": "Invalid request",
"message": "URL is required"
}
Rate Limits & Quotas
Understanding Rate Limits
Rate limits prevent API abuse and ensure fair usage for all customers. Limits are applied per API key and reset automatically.
| Limit Type | Quota | Description |
|---|---|---|
| Per Second | 10 requests | Maximum burst rate for short-term traffic |
| Per Minute | 100 requests | Sustained traffic limit |
| Daily/Monthly | Unlimited | No caps on total usage volume |
Rate Limit Headers
Every API response includes headers with your current rate limit status:
-
X-RateLimit-LimitYour rate limit -
X-RateLimit-RemainingCalls remaining -
X-RateLimit-ResetReset time (Unix timestamp)
Handling Rate Limits
When you exceed a rate limit:
- β’ You'll receive a
429 Too Many Requestsresponse - β’ Check the
Retry-Afterheader for wait time - β’ Implement exponential backoff in your code
Pro Tip: Monitor your usage in real-time from your API Dashboard to avoid hitting rate limits unexpectedly.
Code Examples
cURL Examples
Quick Security Scan:
curl -X POST https://7azzani.com/api/scans/quick_scan/ \
-H "Authorization: Bearer 7AZ_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Check Scan Status:
curl -H "Authorization: Bearer 7AZ_YOUR_API_KEY" \
https://7azzani.com/api/scans/{scan_id}/status/
Developer Guide
SDK Examples
Ready-to-use code snippets for popular languages:
# Install: pip install requests
import requests
API_KEY = "7AZ_your_api_key_here"
BASE_URL = "https://7azzani.com"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# Security Scan
def run_security_scan(url):
response = requests.post(
f"{BASE_URL}/api/scans/quick_scan/",
headers=headers,
json={"url": url, "scan_type": "quick"}
)
return response.json()
# URL Shortener
def shorten_url(long_url):
response = requests.post(
f"{BASE_URL}/shrinkit/api/shorten/",
headers=headers,
json={"url": long_url}
)
return response.json()
# Domain Lookup
def lookup_domain(domain):
response = requests.post(
f"{BASE_URL}/lookup/api/lookup/",
headers=headers,
json={"domain": domain, "lookup_type": "all"}
)
return response.json()
# Usage example
result = run_security_scan("https://example.com")
print(f"Scan ID: {result['scan_id']}")
Best Practices
Security
- β’ Store API keys in environment variables
- β’ Never expose keys in client-side code
- β’ Use IP restrictions when possible
- β’ Rotate keys periodically
Performance
- β’ Implement request caching
- β’ Use async/await for parallel requests
- β’ Handle rate limits gracefully
- β’ Use polling for long operations
Error Handling
- β’ Always check response status codes
- β’ Implement retry logic with backoff
- β’ Log errors for debugging
- β’ Gracefully handle 429 errors
Polling Pattern
- β’ Start scan/test operation
- β’ Poll status endpoint at intervals
- β’ Use exponential backoff
- β’ Stop when status is "completed"
Handling Rate Limits
Example of implementing retry logic with exponential backoff:
import time
import requests
def make_request_with_retry(url, headers, data, max_retries=3):
for attempt in range(max_retries):
response = requests.post(url, headers=headers, json=data)
if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 2 ** attempt))
print(f"Rate limited. Waiting {retry_after} seconds...")
time.sleep(retry_after)
continue
return response
raise Exception("Max retries exceeded")
Frequently Asked Questions
Yes! The 7AZZANI API is completely free for developers. We believe in open access to security and performance tools. There are no hidden fees, credit cards required, or trial periods.
If you find the project useful, you can support our development through optional contributions.
We maintain generous rate limits to ensure service stability for everyone:
- 10 requests per second
- 100 requests per minute
- Unlimited monthly requests
Need higher limits for a specific use case? Contact us to discuss your requirements.
Authentication is simple using Bearer tokens:
- Create an account and go to the API Dashboard
- Generate a new API key
- Include it in your request header:
Authorization: Bearer 7AZ_...
We prioritize security:
- All traffic is encrypted via HTTPS/TLS 1.2+
- API keys are hashed and encrypted at rest
- We do not store scan results permanently unless requested
- IP restrictions (whitelisting) are available for keys
Yes! You are free to use the 7AZZANI API in both personal and commercial projects. There are no licensing fees or restrictions on commercial use.
We welcome contributions from the community!
- Report bugs or request features on GitHub
- Improve documentation
- Submit pull requests
API Terms of Use
Last updated: May 19, 2026
1. Acceptable Use
By using the 7AZZANI API, you agree to:
- Only scan websites you own or have explicit permission to test
- Not use the API for illegal, harmful, or malicious purposes
- Not attempt to disrupt, damage, or gain unauthorized access to our services
- Comply with all applicable laws and regulations
- Not reverse engineer or attempt to derive the source code of our API
2. Rate Limits & Fair Use
To ensure quality service for all users:
- You must respect the global rate limits
- Systematic attempts to circumvent rate limits may result in suspension
- We reserve the right to throttle or block excessive usage
3. API Key Security
You are responsible for maintaining the security of your API keys:
- Keep your API keys confidential and secure
- Do not share API keys publicly or commit them to version control
- Immediately notify us if you suspect unauthorized use
- You are liable for all usage under your API keys
- We may revoke compromised keys without notice
4. Data & Privacy
How we handle data:
- Scan results are retained for 90 days for your reference
- We do not sell or share your scan data with third parties
- You retain ownership of your scan targets and results
- We may collect anonymized usage statistics for service improvement
- Full privacy policy available at 7azzani.com/privacy
5. Service Level & Availability
Our service commitments:
- We strive for 99.9% uptime but do not guarantee uninterrupted service
- Scheduled maintenance will be announced 24 hours in advance
- We are not liable for issues beyond our reasonable control
6. Prohibited Activities
The following activities are strictly prohibited:
- Scanning government or military websites without authorization
- Testing for vulnerabilities to exploit rather than report
- Automated scanning of third-party websites without permission
- Using scan results to harm, defame, or harass others
- Reselling or redistributing API access
- Creating derivative works based on our API
7. Limitation of Liability
THE API IS PROVIDED "AS IS" WITHOUT WARRANTIES OF ANY KIND. IN NO EVENT SHALL 7AZZANI BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OF THE API, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
8. Termination
We may terminate or suspend your access:
- For violation of these terms
- For suspected fraudulent or illegal activity
- Upon your request
Upon termination, your API keys will be revoked and you must cease all use of the API.
9. Changes to Terms
We may update these terms at any time. Continued use of the API after changes constitutes acceptance of the new terms. Material changes will be notified via email or dashboard announcement.
Questions?
For questions about these terms or the API, contact us at: