WebsiteCategorizationAPI
Home
Demo Tools - Categorization
Website Categorization Text Classification URL Database Taxonomy Mapper
Demo Tools - Website Intel
Technology Detector Quality Score Competitor Finder
Demo Tools - Brand Safety
Brand Safety Checker Brand Suitability Quality Checker
Demo Tools - Content
Sentiment Analyzer Context Aware Ads
Resources
API Documentation Pricing Login
Try Categorization

Overview

The Database Download API allows subscribed clients to programmatically access their web filtering database files. This is useful for automating database updates in your infrastructure, checking when new versions are available, and downloading supporting files like changelogs and category lists.

Base URL
https://websitecategorizationapi.com/api/database/

Authentication

All API requests require a valid api_key parameter. You can find your API key in your client portal page. Include it as a query parameter in every request: ?api_key=YOUR_API_KEY

Quick Start

cURL

# Check when your database was last updated curl "https://websitecategorizationapi.com/api/database/?action=last_updated&api_key=YOUR_KEY" # Download your database curl -o database.csv "https://websitecategorizationapi.com/api/database/?action=download&api_key=YOUR_KEY" # Download phishing threat intelligence feed curl -o phishing.csv "https://websitecategorizationapi.com/api/database/?action=download_phishing&api_key=YOUR_KEY"

Python

import requests API_KEY = "YOUR_API_KEY" BASE = "https://websitecategorizationapi.com/api/database/" # Check last update r = requests.get(BASE, params={ "action": "last_updated", "api_key": API_KEY }) print(r.json()) # Download database r = requests.get(BASE, params={ "action": "download", "api_key": API_KEY }) with open("database.csv", "wb") as f: f.write(r.content)

API Endpoints

GET ?action=download Download main database file

Downloads your subscribed main database file (e.g. 100k_web_filtering.csv). The response is the raw CSV file as an attachment. Use this to keep your local copy of the database up to date.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be download
api_keystringRequiredYour API key
Example Request
curl -o my_database.csv "https://websitecategorizationapi.com/api/database/?action=download&api_key=YOUR_KEY"
Response

Returns the CSV file as a downloadable attachment with Content-Type: text/csv.

GET ?action=last_updated Get database last update date

Returns the last modification date/time of your database file. Use this to check whether a new version is available before downloading. The date is determined by the file's last modification timestamp on the server.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be last_updated
api_keystringRequiredYour API key
Example Request
curl "https://websitecategorizationapi.com/api/database/?action=last_updated&api_key=YOUR_KEY"
Example Response
{ "error": false, "client": "Parallels", "database_file": "100k_web_filtering.csv", "last_updated": "2026-04-01 14:30:00", "last_updated_unix": 1775142600, "last_updated_iso": "2026-04-01T14:30:00+00:00" }
GET ?action=changelog Download category changelog

Downloads the category_changelog.csv file, which logs all changes made to the database categories over time. This includes additions, removals, and reclassifications of domains. Use this to track what changed between database updates.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be changelog
api_keystringRequiredYour API key
Example Request
curl -o changelog.csv "https://websitecategorizationapi.com/api/database/?action=changelog&api_key=YOUR_KEY"
Response

Returns the category_changelog.csv file as a downloadable attachment.

GET ?action=categories Download web filtering categories

Downloads the web_filtering_categories.csv file containing the complete list of web filtering categories used in the database. Use this to stay up to date with the latest category taxonomy.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be categories
api_keystringRequiredYour API key
Example Request
curl -o categories.csv "https://websitecategorizationapi.com/api/database/?action=categories&api_key=YOUR_KEY"
Response

Returns the web_filtering_categories.csv file as a downloadable attachment.

GET ?action=download_phishing Download phishing/malware threat intelligence database

Downloads the phishing and malware threat intelligence database file. This database contains a daily-updated list of active phishing domains that have been verified via DNS resolution. Only domains that currently resolve are included, ensuring the feed reflects live threats. The database is updated daily.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be download_phishing
api_keystringRequiredYour API key
Example Request
curl -o phishing_domains.csv "https://websitecategorizationapi.com/api/database/?action=download_phishing&api_key=YOUR_KEY"
Response Format
domain,category,dns_status malicious-site.com,phishing/malware,resolves fake-login-page.net,phishing/malware,resolves credential-harvest.org,phishing/malware,resolves

Returns the phishing database CSV as a downloadable attachment. Each row contains the domain, its category (phishing/malware), and DNS status (resolves). Non-resolving domains are filtered out during the daily update.

GET ?action=info Get database metadata

Returns comprehensive metadata about your database subscription including file size, last update date, and a list of all available supplementary files (changelog, categories). This is useful for building dashboards or monitoring scripts.

Parameters
ParameterTypeRequiredDescription
actionstringRequiredMust be info
api_keystringRequiredYour API key
Example Request
curl "https://websitecategorizationapi.com/api/database/?action=info&api_key=YOUR_KEY"
Example Response
{ "error": false, "client": "Parallels", "database": { "file": "100k_web_filtering.csv", "description": "Web filtering database with 100K domains", "exists": true, "size_bytes": 15728640, "size_human": "15 MB", "last_updated": "2026-04-01 14:30:00", "last_updated_unix": 1775142600 }, "available_files": [ { "name": "category_changelog.csv", "action": "changelog", "size_human": "245.5 KB", "last_updated": "2026-04-01 14:30:00" }, { "name": "web_filtering_categories.csv", "action": "categories", "size_human": "2.1 KB", "last_updated": "2026-03-15 10:00:00" } ] }

Error Codes

All error responses return a JSON object with "error": true and a descriptive message.

HTTP StatusMeaningDescription
400 Bad Request Missing or invalid action parameter. The response includes a list of valid actions.
401 Unauthorized Missing api_key parameter in the request.
403 Forbidden Invalid API key or deactivated account.
404 Not Found The requested file does not exist on the server. Contact support.
500 Server Error Internal server error. Please try again later or contact support.

Error Response Example

{ "error": true, "message": "Invalid API key. Access denied.", "documentation": "https://websitecategorizationapi.com/database-download-api.php" }

Integration Examples

Python - Auto-Update Script

import requests import os from datetime import datetime API_KEY = "YOUR_API_KEY" BASE_URL = "https://websitecategorizationapi.com/api/database/" LOCAL_DB = "local_database.csv" # Check last update on server resp = requests.get(BASE_URL, params={"action": "last_updated", "api_key": API_KEY}) data = resp.json() server_time = data["last_updated_unix"] # Compare with local file if os.path.exists(LOCAL_DB): local_time = os.path.getmtime(LOCAL_DB) if server_time <= local_time: print("Database is up to date.") exit() # Download new version print("Downloading updated database...") resp = requests.get(BASE_URL, params={"action": "download", "api_key": API_KEY}) with open(LOCAL_DB, "wb") as f: f.write(resp.content) print(f"Downloaded {len(resp.content)} bytes.")

Bash - Cron Job Example

#!/bin/bash # Add to crontab: 0 2 * * 1 /path/to/update_db.sh API_KEY="YOUR_API_KEY" BASE="https://websitecategorizationapi.com/api/database/" DB_FILE="/opt/databases/web_filtering.csv" # Download latest database curl -s -o "$DB_FILE" "${BASE}?action=download&api_key=${API_KEY}" # Download changelog curl -s -o "/opt/databases/changelog.csv" "${BASE}?action=changelog&api_key=${API_KEY}" # Download categories curl -s -o "/opt/databases/categories.csv" "${BASE}?action=categories&api_key=${API_KEY}" echo "Database updated at $(date)"

Need Help?

If you have questions about the API or need assistance with integration, reach out to our support team.

[email protected]
Stay in the loop

You are on the list!

We will send you updates that matter — no spam.