RESTful API

Powerful API for Developers

Integrate website security scanning into your applications with our fast, reliable, and easy-to-use REST API.

Get Started View Examples

Quick Start

Get up and running in minutes

1

Get Your API Key

Sign up for a Pro or Enterprise plan to receive your API key. You can find it in your dashboard under API Settings.

API_KEY=your_api_key_here
2

Make Your First Request

Send a POST request to our API endpoint with the website URL you want to analyze.

curl -X POST https://api.scamflare.com/v1/scan \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "example.com"}'
3

Handle the Response

Receive a comprehensive JSON response with all security analysis data.

{
  "status": "success",
  "data": {
    "domain": "example.com",
    "flare_score": 95,
    "risk_level": "safe",
    "ssl_valid": true,
    "malware_detected": false,
    "phishing_detected": false
  }
}

API Endpoints

Complete API reference

POST /v1/scan

Initiates a comprehensive security scan for the specified website.

Parameters

url string required The website URL to scan
depth string optional Scan depth: "quick", "standard", "deep"

Example Response

{
  "status": "success",
  "scan_id": "abc123def456",
  "data": {
    "domain": "example.com",
    "flare_score": 95,
    "risk_level": "safe",
    "ssl": { "valid": true, "issuer": "Let's Encrypt" },
    "malware": { "detected": false, "threats": [] },
    "blacklists": { "listed": false, "sources": [] }
  }
}
GET /v1/scan/{scan_id}

Retrieves the results of a previously initiated scan.

GET /v1/scans

Lists all scans associated with your API key. Supports pagination.

Code Examples

Integration examples in popular languages

JavaScript

const response = await fetch(
  'https://api.scamflare.com/v1/scan',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ url: 'example.com' })
  }
);
const data = await response.json();

Python

import requests

response = requests.post(
  'https://api.scamflare.com/v1/scan',
  headers={
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  json={'url': 'example.com'}
)
data = response.json()

PHP

$ch = curl_init('https://api.scamflare.com/v1/scan');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer YOUR_API_KEY',
  'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,
  json_encode(['url' => 'example.com']));
$response = curl_exec($ch);

Ruby

require 'net/http'
require 'json'

uri = URI('https://api.scamflare.com/v1/scan')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request.body = {url: 'example.com'}.to_json
response = Net::HTTP.start(uri.hostname, uri.port,
  use_ssl: true) { |http| http.request(request) }

Rate Limits & Best Practices

Rate Limits

  • Pro Plan: 10,000 requests/month, 100 requests/hour
  • Enterprise Plan: Unlimited requests, custom rate limits

Best Practices

  • Implement exponential backoff for retries
  • Cache results to minimize API calls
  • Use webhooks for async scan notifications
  • Store your API key securely (never in client-side code)

Ready to Integrate?

Get your API key and start protecting your users today

View Pricing Plans