WebSnipr

Developer API

Check any website from your own app. Send a URL, get back the verdict, AI score, detected technologies and the evidence as JSON.

Authentication

Every request needs an API key. Send it in the X-API-Key header, or as an api_key parameter if you can't set headers. Keys are issued by the owner of this site: request one below.

Header
X-API-Key: YOUR_KEY

Scan a website

Runs a full scan and returns the report. A new scan usually takes 5 to 30 seconds, so allow a timeout of about 2 minutes.

GETPOST https://websnipr.com/api/scan.php

Parameters

NameTypeDescription
url RequiredstringThe website to scan, with or without https://, e.g. example.com.
fresh0 or 11 skips saved results and always runs a new scan.
api_keystringOnly if you can't send the X-API-Key header.

Example request

curl -H "X-API-Key: YOUR_KEY" \
  "https://websnipr.com/api/scan.php?url=example.com"

Response

A JSON object. Successful scans return HTTP 200 with "success": true. Example, shortened:

200 OK
{
    "success": true,
    "cached": false,
    "id": "k3m9x2p7qa",
    "report_url": "https://websnipr.com/report/k3m9x2p7qa/example-com",
    "url": "https://example.com/",
    "verdict": "partial",
    "verdict_label": "AI-Assisted",
    "ai_score": 58,
    "confidence": "medium",
    "ai_parts": [
        "Written content"
    ],
    "headline": "AI appears to have been used for: Written content.",
    "platform": "WordPress",
    "categories": {
        "platform": {
            "score": 0
        },
        "code": {
            "score": 12
        },
        "content": {
            "score": 71
        },
        "media": {
            "score": 0
        }
    },
    "technologies": [
        "WordPress",
        "jQuery"
    ],
    "technology_details": [
        {
            "name": "WordPress",
            "group": "CMS & site generators",
            "ai": null,
            "version": "6.6.2",
            "found_in": "generator"
        }
    ],
    "meta": {
        "title": "Example",
        "canonical": "https://example.com/",
        "og": {
            "og:title": "Example"
        },
        "jsonld": [
            "Organization"
        ]
    },
    "http": {
        "status": 200,
        "http_version": "2",
        "time": 0.214,
        "https": true
    },
    "snapshot_url": "https://websnipr.com/snapshot.php?id=k3m9x2p7qa",
    "findings": [
        {
            "type": "ai",
            "category": "content",
            "title": "AI-typical phrasing",
            "weight": 34,
            "evidence": [
                "\"elevate your\" x3"
            ]
        }
    ],
    "stats": {
        "pages": 4,
        "words": 1830
    }
}

Response fields

FieldTypeDescription
verdictstringfull AI-Generated, partial AI-Assisted or none No AI Detected.
verdict_labelstringThe verdict as shown on the website.
ai_scoreintegerAI likelihood from 0 to 100.
confidencestringlow, medium or high: how much evidence the verdict is based on.
ai_partsarrayWhich parts look AI-made: design & code, written content, images.
platformstring|nullThe detected builder or CMS, e.g. Lovable or WordPress.
categoriesobjectScore per check: platform, code, content and media.
technology_detailsarrayEvery technology found, with its group, version and whether it is an AI builder.
metaobjectTitle, description, canonical URL, Open Graph, X card, structured data and other tags.
httpobjectStatus, protocol, response time, HTTPS certificate, redirects, security headers and all headers.
authorityobject|nullDomain authority from Open PageRank: score (0 to 10), rank and domain. Null when no key is set or the domain is unknown.
seoobjectSEO audit of the home page: score (0 to 100) and every check with its status and explanation.
linksobjectInternal and outbound link counts, social profiles and the domains the site links to.
filesobjectrobots.txt (including AI crawler rules), sitemap, llms.txt, ads.txt, security.txt and humans.txt when found.
findingsarrayThe evidence behind the verdict: type (ai, human, info), title, weight and samples.
report_urlstringShareable report page for this scan.
snapshot_urlstring|nullScreenshot of the site, when snapshots are enabled.
healthobject|nullSite health: overall score (0 to 100), grade (A to F) and the parts it is made of (seo, security, performance, accessibility).
whyobjectThe findings that moved the AI score most: raised and lowered, each with title, category and points.
securityobject|nullSecurity score, grade and checks (HTTPS, certificate, headers, cookies, mixed content).
performanceobject|nullSpeed score, grade, checks and raw metrics (response time, HTML size, scripts, images, third-party domains).
privacyobject|nullTracking level (low, medium, high), the trackers found with their category, consent tool, privacy policy link and cookies.
accessibilityobject|nullAccessibility score, grade and checks from an automatic check of the home page.
readabilityobject|nullWords, reading time, Flesch reading ease, school grade and sentence length.
link_checkobject|nullLinks on the home page that were checked, with the broken ones and their status.
domainobject|nullRegistration and expiry dates, registrar, status and DNSSEC (RDAP).
dnsobject|nullName servers, DNS and email provider, MX, SPF, DMARC, DKIM, CAA and verified services.
serverobject|nullServer IP, hosting network, owner and country.
pdf_urlstring|nullDownload link for the PDF report, when PDFs are enabled.
cachedbooleanTrue when a recent saved result was returned instead of a new scan.

Errors

Errors return "success": false and a readable error message.

401 Unauthorized
{
    "success": false,
    "error": "Invalid or disabled API key."
}
StatusMeaningWhen it happens
401UnauthorizedThe API key is missing, wrong or disabled.
403ForbiddenThe API is turned off on this site.
422UnprocessableThe site could not be scanned: invalid address, unreachable, blocked or not a web page.
429Too many requestsThe key reached its daily limit or the hourly rate limit.
500Server errorSomething went wrong while scanning. Try again later.

Limits & caching

Per key, per hour
120 scans
Per key, per day
Set for each key by the site owner
Saved results
Reused for 24 hours. Don't count against the hourly limit

Request API access

Tell us a little about your project and we'll email you a key once your request is approved.

We only use your email to reply to this request.