π PreBrowse - Advanced Link Safety ServiceΒΆ
A free, comprehensive URL safety checker that goes beyond traditional services like Google Safe Browsing.
PreBrowse analyzes URLs for multiple threat vectors and provides detailed safety reports with actionable insights. Now with live content fetching and analysis!
π FeaturesΒΆ
PreBrowse offers 20+ advanced safety checks including live content analysis:
π Live Content AnalysisΒΆ
- β Real Website Fetching - Actually downloads and analyzes the webpage content
- β HTML Structure Analysis - Examines forms, scripts, and iframes for threats
- β Phishing Language Detection - Scans actual page text for scam phrases ("urgent", "verify account", etc.)
- β SSL Certificate Verification - Checks certificate validity and expiration
- β Hidden Element Detection - Finds hidden forms and iframes (malware indicators)
- β Obfuscated JavaScript Detection - Identifies suspicious code patterns (eval, atob, etc.)
- β External Link Analysis - Checks ratio of external vs internal links
- β Redirect Detection - Tracks URL redirects and final destinations
Traditional URL AnalysisΒΆ
- β Phishing Detection - Identifies suspicious keywords and patterns in URLs
- β Malware Pattern Recognition - Detects executable files and malware distribution patterns
- β Brand Impersonation Detection - Catches fake sites impersonating major brands
- β Homograph Attack Detection - Identifies unicode characters mimicking legitimate domains
- β URL Obfuscation Detection - Catches @ symbols, IP addresses, and other tricks
- β Suspicious TLD Analysis - Flags commonly abused top-level domains
- β HTTPS Verification - Ensures encrypted connections
- β IP Address URL Detection - Identifies direct IP addresses (phishing indicator)
- β URL Shortener Detection - Flags shortened URLs that hide destinations
- β Comprehensive Threat Scoring - 0-100 safety score with detailed breakdowns
π Getting StartedΒΆ
EndpointΒΆ
Single URL Check with Deep Scan (GET)ΒΆ
# Deep scan enabled by default for non-whitelisted domains
curl "https://apis.novasuite.one/web/prebrowse?url=https://example.com"
# Disable deep scan for faster URL-only analysis
curl "https://apis.novasuite.one/web/prebrowse?url=https://example.com&deepScan=false"
Single URL Check (POST)ΒΆ
curl -X POST https://apis.novasuite.one/web/prebrowse \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "deepScan": true}'
Batch URL Check (POST)ΒΆ
curl -X POST https://apis.novasuite.one/web/prebrowse \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://example.com",
"http://suspicious-site.tk",
"https://192.168.1.1/login"
],
"deepScan": true
}'
π Response FormatΒΆ
Safe URL ResponseΒΆ
{
"service": "NovaAPIs PreBrowse",
"version": "3.0.0",
"timestamp": "2025-11-22T12:00:00.000Z",
"count": 1,
"results": {
"url": "https://example.com",
"safe": true,
"threatLevel": "none",
"score": 100,
"threats": [],
"warnings": [],
"info": [
"Performing deep content analysis...",
"Valid SSL certificate from Let's Encrypt",
"Privacy policy found",
"Contact information found",
"Deep content analysis completed"
],
"contentAnalyzed": true,
"details": {
"protocol": "https:",
"hostname": "example.com",
"pathname": "/",
"tld": "com",
"hasQueryParams": false,
"subdomainCount": 0,
"ssl": {
"valid": true,
"issuer": "Let's Encrypt",
"validUntil": "2026-02-20T12:00:00.000Z",
"daysUntilExpiry": 90,
"selfSigned": false
},
"contentAnalysis": {
"forms": 1,
"passwordFields": 0,
"hiddenForms": 0,
"scripts": 5,
"inlineScripts": 2,
"externalScripts": 3,
"iframes": 0,
"hiddenIframes": 0,
"links": 25,
"externalLinks": 5,
"pageTitle": "Example Domain",
"hasPrivacyPolicy": true,
"hasContact": true,
"contentLength": 1247
},
"httpStatus": 200
}
}
}
Unsafe URL ResponseΒΆ
{
"service": "NovaAPIs PreBrowse",
"timestamp": "2025-11-22T12:00:00.000Z",
"count": 1,
"results": {
"url": "http://paypal-verify.tk/login",
"safe": false,
"threatLevel": "critical",
"score": 5,
"threats": [
{
"type": "BRAND_IMPERSONATION",
"severity": "critical",
"description": "Possible paypal impersonation - domain is not official",
"brand": "paypal"
},
{
"type": "PHISHING_INDICATORS",
"severity": "high",
"description": "Multiple phishing keywords detected: verify, login",
"keywords": ["verify", "login"]
}
],
"warnings": [
{
"type": "NO_HTTPS",
"severity": "medium",
"description": "URL does not use HTTPS encryption"
},
{
"type": "SUSPICIOUS_TLD",
"severity": "medium",
"description": "TLD .tk is commonly used in malicious campaigns"
}
],
"info": [],
"details": {
"protocol": "http:",
"hostname": "paypal-verify.tk",
"pathname": "/login",
"tld": "tk",
"hasQueryParams": false,
"subdomainCount": 0
}
}
}
π― Threat LevelsΒΆ
| Level | Score Range | Description |
|---|---|---|
| none | 80-100 | URL appears safe |
| low | 60-79 | Minor concerns, generally safe |
| medium | 40-59 | Suspicious indicators, proceed with caution |
| high | 20-39 | Multiple red flags, likely unsafe |
| critical | 0-19 | Severe threats detected, avoid |
π Threat TypesΒΆ
URL-Based ThreatsΒΆ
| Type | Severity | Description |
|---|---|---|
INVALID_PROTOCOL | high | Non-HTTP/HTTPS protocol |
IP_ADDRESS_URL | high | Uses IP address instead of domain |
SUSPICIOUS_TLD | medium | Commonly abused TLD |
URL_SHORTENER | low | Shortened URL |
EXCESSIVE_SUBDOMAINS | medium | Too many subdomains |
PHISHING_INDICATORS | high | Multiple phishing keywords in URL |
PHISHING_KEYWORDS | low | Contains phishing-related terms |
MALWARE_PATTERN | critical | Matches malware patterns |
AT_SYMBOL_OBFUSCATION | high | Contains @ in hostname |
HOMOGRAPH_ATTACK | high | Non-ASCII characters in domain |
LONG_DOMAIN | medium | Unusually long domain name |
EXCESSIVE_HYPHENS | low | Many hyphens in domain |
NON_STANDARD_PORT | medium | Non-standard port number |
BRAND_IMPERSONATION | critical | Impersonates major brand |
INVALID_URL | critical | Malformed URL |
NO_HTTPS | medium | No HTTPS encryption |
π Content-Based Threats (Deep Scan)ΒΆ
| Type | Severity | Description |
|---|---|---|
HIDDEN_FORM | high | Hidden forms detected (phishing) |
OBFUSCATED_JAVASCRIPT | high | Obfuscated code (eval, atob) |
HIDDEN_IFRAME | critical | Hidden iframes (malware) |
SCAM_LANGUAGE | high | Scam phrases in content (5+) |
SUSPICIOUS_LANGUAGE | medium | Suspicious phrases (2-4) |
EXPIRED_CERTIFICATE | critical | SSL certificate expired |
SELF_SIGNED_CERTIFICATE | high | Self-signed SSL certificate |
MULTIPLE_PASSWORD_FIELDS | medium | Unusual number of password fields |
EXCESSIVE_INLINE_SCRIPTS | low | Many inline scripts |
EXCESSIVE_IFRAMES | low | Many iframes on page |
EXCESSIVE_EXTERNAL_LINKS | medium | Most links go to external sites |
MISSING_LEGAL_INFO | medium | No privacy/terms/contact info |
MINIMAL_CONTENT | low | Very little text content |
URL_REDIRECT | low | URL redirects to different location |
π‘ Use CasesΒΆ
- Browser Extensions - Add real-time link safety checks
- Email Security - Scan links in emails before users click
- Chat Applications - Warn users about suspicious links
- Content Moderation - Flag dangerous URLs in user-generated content
- Security Tools - Integrate into security dashboards
- Education - Teach users about phishing and malware
π PreBrowse vs. Google Safe BrowsingΒΆ
| Feature | PreBrowse v3.0 | Safe Browsing |
|---|---|---|
| π Live Content Fetching | β Yes | β No |
| π HTML Analysis | β Forms, Scripts, iFrames | β No |
| π Scam Language Detection | β Page Content | β No |
| π SSL Certificate Check | β Full Validation | β No |
| π Hidden Element Detection | β Yes | β No |
| π JavaScript Analysis | β Obfuscation Detection | β No |
| Phishing Detection | β Advanced (URL + Content) | β Basic |
| Brand Impersonation | β Yes | β Limited |
| Homograph Detection | β Yes | β No |
| URL Obfuscation | β Yes | β Limited |
| TLD Analysis | β Yes | β No |
| HTTPS Checking | β Yes | β No |
| Detailed Scoring | β 0-100 Scale | β Binary |
| Threat Breakdown | β Detailed | β Basic |
| Free Tier | β Unlimited | β οΈ Limited |
π Code ExamplesΒΆ
JavaScript/Node.jsΒΆ
async function checkURL(url) {
const response = await fetch(
`https://apis.novasuite.one/web/prebrowse?url=${encodeURIComponent(url)}`
);
const data = await response.json();
if (!data.results.safe) {
console.warn(`β οΈ Unsafe URL detected! Threat level: ${data.results.threatLevel}`);
console.warn('Threats:', data.results.threats);
}
return data.results;
}
// Usage
checkURL('https://example.com');
PythonΒΆ
import requests
def check_url(url):
response = requests.get(
'https://apis.novasuite.one/web/prebrowse',
params={'url': url}
)
data = response.json()
if not data['results']['safe']:
print(f"β οΈ Unsafe URL! Threat level: {data['results']['threatLevel']}")
print(f"Threats: {data['results']['threats']}")
return data['results']
# Usage
check_url('https://example.com')
cURLΒΆ
# Check single URL
curl "https://apis.novasuite.one/web/prebrowse?url=https://example.com" | jq '.results.safe'
# Batch check
curl -X POST https://apis.novasuite.one/web/prebrowse \
-H "Content-Type: application/json" \
-d '{"urls": ["https://site1.com", "https://site2.com"]}' \
| jq '.results[] | {url, safe, threatLevel, score}'
π API ReferenceΒΆ
GET /web/prebrowseΒΆ
Query Parameters:
url(optional) - URL to checkdeepScan(optional) - Enable deep content analysis (default: true for non-whitelisted domains)
Response: Service information (if no URL) or safety analysis
POST /web/prebrowseΒΆ
Body:
{
"url": "string", // Single URL
"urls": ["string"], // Or array of URLs (max 100)
"deepScan": true // Enable deep content analysis (optional)
}
Response: Safety analysis for URL(s)
π Privacy & SecurityΒΆ
- No data storage - URLs are analyzed in real-time and not stored
- No tracking - We don't track users or their queries
- Proprietary technology - Advanced detection algorithms
- CORS enabled - Use from any domain
β‘ Rate LimitsΒΆ
Free Tier:
- Deep Scan (content analysis enabled): 20 requests per hour per IP
- URL-Only Analysis (
deepScan=false): 100 requests per hour per IP
Rate limit information is included in response headers:
X-RateLimit-Limit- Maximum requests allowedX-RateLimit-Remaining- Requests remaining in current windowX-RateLimit-Reset- Unix timestamp when limit resets
π SupportΒΆ
For questions or support inquiries, please contact us at api@novasuite.one.