Public APIs
URLScan.io favicon

URLScan.io

Anti-Malware

Scan and Analyse URLs.

URLScan.io's website screenshot

About URLScan.io

URLScan.io provides an API for submitting URLs for automated scanning and retrieving the results, including screenshots and DOM snapshots, once a scan completes. It also offers a search API for querying existing scans by attributes such as domains, IPs, autonomous system (AS) numbers, and hashes. Access requires a user account with an API key; unauthenticated requests are limited to minor quotas.

Scans can be submitted at one of three visibility levels: public (visible on the frontpage and in public search results), unlisted (hidden from public search but visible to vetted security researchers on the urlscan Pro platform), or private (visible only to the submitting user or those given the scan ID). Submission options include setting a custom user agent, referer, tags, visibility, and the country from which the scan is performed.

The API enforces per-minute, per-hour, and per-day rate limits depending on the action performed, using a fixed-window approach that resets at the top of the minute, hour, or midnight UTC. Exceeding a limit returns an HTTP 429 response, and each request includes X-Rate-Limit headers indicating the current scope, action, window, limit, remaining calls, and reset time. The service is intended for developers integrating URL scanning and search functionality, with guidance provided on backoff strategies, redirect handling, and avoiding bulk scraping of the data.

Key features

  • Submit URLs for automated scanning and retrieve results including screenshots and DOM snapshots
  • Search existing scans by domain, IP, ASN, hash, and other attributes
  • Three scan visibility levels (public, unlisted, private) to control exposure of submitted URLs
  • Configurable scan options including custom user-agent, referer override, tags, and scan origin country
  • Per-minute, per-hour, and per-day rate limits with X-Rate-Limit response headers for tracking quota usage

Frequently asked questions

How do I authenticate API requests?

Create a user account, attach an API key, and supply it via the api-key HTTP header; unauthenticated requests only receive minor quotas.

How does the submission and result workflow work?

You POST a URL to the scan endpoint and get back a UUID and result API link; the result endpoint returns HTTP 404 until the scan finishes, so clients should poll after a short wait.

What visibility options are available for scans?

Scans can be public (visible on the frontpage and search), unlisted (visible only to vetted security researchers on urlscan Pro), or private (visible only to you or those you share the scan ID with).

Are there rate limits on API usage?

Yes, there are separate per-minute, per-hour, and per-day limits per action using a fixed-window approach, with HTTP 429 returned when exceeded and X-Rate-Limit headers indicating current quota status.

Can I search for existing scans instead of resubmitting a URL?

Yes, the search API lets you query existing scans by attributes such as domains, IPs, AS numbers, and hashes, and the docs recommend searching before resubmitting a URL.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product