URLScan.io

URLScan.io — free tier with API key

🔐 SecurityHEALTHYchecked 8h ago
AUTH APIKEYCORS AGENT HTTPS COMMERCIAL ?

URLScan.io exposes a free-tier JSON API. Register for an API key if required; we verified a public or demo endpoint.

58HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: 58 · healthy
Uptime history
97.1%90 days
95.0%30 days
1322P50 · ms
4908P95 · ms
operationalpartialdownno data
Response time · last 48 checks
Fastest 404 ms, slowest 2722 ms, most recent 790 ms.
Live response samplecaptured by our last successful check
GET https://urlscan.io/api/v1/search/?q=domain:urlscan.io

{
  "results": [
    {
      "canonical": {
        "task": {
          "url": "urlscan.io/result/019f1d95-a472-71f9-bd01-4a488a624cc6"
        },
        "page": {
          "url": "urlscan.io/result/019f1d95-a472-71f9-bd01-4a488a624cc6"
        }
      },
      "task": {
        "visibility": "public",
        "method": "manual",
        "domain": "urlscan.io",
        "apexDomain": "urlscan.io",
        "time": "2026-07-05T18:07:11.362Z",
        "uuid": "019f3376-60eb-777e-9679-f133c8e2715f",
        "url": "https://urlscan.io/result/019f1d95-a472-71f9-bd01-4a488a624cc6/"
      },
      "stats": {
        "uniqIPs": 1,
        "uniqCountries": 1,
        "dataLength": 1128,
        "encodedDataLength": 1367,
        "requests": 2
      },
      "page": {
        "country": "DE",
        "server": "nginx",
        "ip": "49.12.22.106",
        "apexDomainAgeDays": 3587,
        "language": "en",
        "mimeType": "text/html",
        "title": "429 Too Many Requests",
        "url": "https://urlscan.io/result/019f1d95-a472-71f9-bd01-4a488a624cc6/"
      },
      "_id": "019f3376-60eb-777e-9679-f133c8e2715f",
      "_score": null,
      "sort": [
        1783274831362,
        "019f3376-60eb-777e-9679-f133c8e2715f"
      ],
      "result": "https://urlscan.io/api/v1/result/019f3376-60eb-777e-9679-f133c8e2715f/"
    },
    {
      "canonical": {
        "task": {
          "url": "bandsworksconcerts.info/index.php"
        },
        "page": {
          "url": "bandsworksconcerts.info/index.php"
        }
      },
      "task": {
        "visibility": "public",
        "method": "manual",
        "domain": "www.bandsworksconcerts.info",
        "apexDomain": "bandsworksconcerts.info",
        "time": "2026-07-05T17:49:06.250Z",
        "uuid": "019f3364-8f09-74b4-a111-5da01e08f63b",
        "url": "https://www.bandsworksconcerts.info/index.php?pesthouse7"
      },
      "stats": {
        "uniqIPs": 27,
        "uniqCountries": 6,
        "dataLength": 11203379,
        "encodedDataLength": 6900791,
        "requests": 590
      },
      "page": {
        "country": "JP",
        "server": "nginx",
        "ip": "157.112.187.29",
        "apexDomainAgeDays": 2178,
        "mimeType": "text/html",
        "url": "https://www.bandsworksconcerts.info/index.php?pesthouse7",
        "tlsValidDays": 89,
        "tlsAgeDays": 18
      },
      "_id": "019f3364-8f09-74b4-a111-5da01e08f63b",
      "_score": null,
      "sort": [
        1783273746250,
        "019f3364-8f09-74b4-a111-5da01e08f63b"
      ],
      "result": "https://urlscan.io/api/v1/result/019f3364-8f09-74b4-a111-5da01e08f63b/"
    }
  ],
  "total": 10000,
  "took": 281,
  "has_more": true
}
Call itcurl · fetch · python
curl "https://urlscan.io/api/v1/search/?q=domain:urlscan.io"
const res = await fetch("https://urlscan.io/api/v1/search/?q=domain:urlscan.io");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://urlscan.io/api/v1/search/?q=domain:urlscan.io")
print(res.json())

BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET

Endpoints · 6HealthyFULL DOCS ↗
Monitored path responding — GET /api/v1/search/?q=domain:urlscan.io1322 mschecked 8h ago
GET/api/v1/search/?q=domain:urlscan.ioPROBED

URLScan.io — free tier with API key

GET/api

Api — documented GET route.

GET/api/1

Api details by ID (example: 1).

GET/api?limit=10

Api — documented GET route.

GET/api/search?q=test

Search by query parameters.

GET/api/v1/search/?limit=5

Search by query parameters.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

URLScan.io: common questions

Is URLScan.io free to use?

Yes — URLScan.io is a free security API. Free tier: Free tier — key may be required. Whether the free tier allows commercial use is unclear — check the provider docs.

Does URLScan.io need an API key?

Yes — URLScan.io needs a free API key, which you pass on each request. Rate limits: 30 req/window · 29 remaining.

Can I call URLScan.io from the browser?

Not directly — URLScan.io doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.

Is URLScan.io up right now?

As of our last scheduled check, URLScan.io is healthy with 97.1% uptime over 90 days and a 1322 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.