Netlify

netlify.com · Compute / VPS / Cloud Hosting modeIntegrated

Last probed 2026-08-09 23:52 UTC · Provisional

NetlifyStatic site hosting and serverless functions.

50 / 100triageInterrupt Score(range 1969 · 10 properties unassessed)How much automated use this service interrupts — the badge-driving metric. Unassessed properties are provisionally scored at 50%; evidence-graded successes at 25%.
Custody / RiskUnknown
ConfidenceProvisional

Verdict: Partially — an AI agent can use Netlify, but activate is blocked — A CAPTCHA blocks automated signup and manage is blocked — SSO-only — no admin API path.

  1. DiscoverEasy
  2. ActivateBlocked
  3. OperateEasygated by Activate
  4. ManageBlockedgated by Activate

Capability parity

Each stage answers one question about what an agent can do unattended. Stages are ordered by the credential-gateway dependency: Activate issues the keys that unlock Operate and Manage.

Discover

Can an agent find and read it, no account?

Easy
  • Be found by a retrieval agentEasy

    Retrieval access present.

    Evidence
    Path tried
    robots.txt / sitemap / discovery headers
    Where it stalled
    completed
    Evidence tier
    Tier 1 (unauth probe)
    Verification
    Evidence-only — graded from passive signal, not live-verified.
    Backing checks
    retrieval_bot_access, sitemap_xml, link_header_discovery
  • Read what it does and how to use itEasy

    Machine-readable docs present.

    Evidence
    Path tried
    llms.txt / AGENTS.md / schema.org / docs
    Where it stalled
    completed
    Evidence tier
    Tier 1 (unauth probe)
    Verification
    Evidence-only — graded from passive signal, not live-verified.
    Backing checks
    llms_txt, markdown_content, schema_org_jsonld, content_signals
  • Read pricing & limits without loginNot assessed

Activate

Can an agent sign up and walk away with the keys it needs?

Blocked
  • Create an account self-serveBlocked

    A CAPTCHA blocks automated signup.

    CAPTCHA / bot-challenge blocks this.

    Evidence
    Path tried
    signup flow
    Where it stalled
    verification step
    Evidence tier
    Tier 0 (passive scan)
    Verification
    Evidence-only — graded from passive signal, not live-verified.
    • CAPTCHA / bot-challengeBefore any account existsHomepage load triggered a recaptcha challenge page (matched signal: iframe[src*="recaptcha"]).
  • Obtain an API / MCP access credentialBlocked

    SSO-only — no API-key path.

    SSO-only signup, no API-key issuance blocks this.

    Evidence
    • SSO-only signup, no API-key issuanceSignupSignup offers only OAuth/SSO buttons (Sign up with Google, Sign up with GitHub, Sign up with GitLab, Sign up with Bitbucket, Sign up with email) — no email/password or API-key path.
  • Obtain a management / admin keyNot assessed
  • Accept the terms without a bot-banEasy

    No bot-prohibition signal found.

    Evidence
    Path tried
    ToS / policy scan
    Where it stalled
    completed
    Evidence tier
    Tier 0 (passive scan)
    Verification
    Evidence-only — graded from passive signal, not live-verified.

Operate

Can an agent do the service's actual jobs — call, transact, pay?

Easy

Gated by Activate — the credential this stage needs isn't issued unattended, so these rows may be unreachable even where they read Easy.

  • Call the primary service over MCP / APIEasy

    Machine interface present — evidence-only, not live-verified.

    Gated by Activate — the credential this needs isn't issued unattended.

    Evidence
    Path tried
    API / MCP / browser
    Where it stalled
    completed
    Evidence tier
    Tier 1 (unauth probe)
    Verification
    Evidence-only — graded from passive signal, not live-verified.
    Backing checks
    openapi_spec, api_catalog
  • Complete a transaction / checkoutNot applicable

    Integrated tool — the API call is the transaction, no separate checkout.

    Gated by Activate — the credential this needs isn't issued unattended.

  • Pay via an agent rail (x402 / ACP / AP2)Not assessed

    Gated by Activate — the credential this needs isn't issued unattended.

Manage

Can an agent administer the account and provision resources?

Blocked

Gated by Activate — the credential this stage needs isn't issued unattended, so these rows may be unreachable even where they read Easy.

  • Provision / scale / tear down a serviceBlocked

    SSO-only — no admin API path.

    SSO-only signup, no API-key issuance blocks this.

    Gated by Activate — the credential this needs isn't issued unattended.

  • Change account details / set budget / rotate keysBlocked

    SSO-only — no admin API.

    SSO-only signup, no API-key issuance blocks this.

    Gated by Activate — the credential this needs isn't issued unattended.

  • View usage & billingNot assessed

    Gated by Activate — the credential this needs isn't issued unattended.

  • Cancel / export / delete (offboard)Not assessed

    Gated by Activate — the credential this needs isn't issued unattended.

Interrupt tier: Moderate-Interrupt — derived from 3 findings; interrupt score 50 / 100 — the badge-driving metric. (range 1969 · 10 unassessed)

Every tool starts at 100. Each interrupt found subtracts a penalty of base weight × timing × hardness × evidence — the multiplier values below come from the same rubric tables the score is computed with. New snapshots also provisionally subtract 50% of the full worst-case tax for each unassessed property and 25% for evidence-graded successes not live-verified by Tier 2.

Property coverage

A check only counts as clean when a probe tier capable of detecting that interrupt actually ran and found nothing. Not tested ≠ clean.

PropertyStageStateEvidenceRequired
CAPTCHA / bot-challengeactivate failedActive finding — itemized in the penalty matrix below. Tier 0 assesses this property.no
SSO-only signup, no API-key issuanceactivate failedActive finding — itemized in the penalty matrix below. Tier 1 assesses this property.no
Email OTP verificationactivate unassessedTier 1 (unauth probe) ran but did not gather enough evidence to claim clean. Tier 1 assesses this property.no
SMS / phone OTP verificationactivate unassessedTier 1 (unauth probe) ran but did not gather enough evidence to claim clean. Tier 1 assesses this property.no
Mandatory phone verification callactivate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
Mailed physical code (postal)activate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
“Contact sales” wall (no self-serve path)activate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
Manual approval queueactivate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
Rate-limit-triggered manual reviewmanage unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
One-time account / payment-method provisioningmanage unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
Identity / KYC verificationactivate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
Crypto wallet / key-custody setupoperate unassessedNo probe tier that can detect this has run yet — unknown, not clean. Tier 2 assesses this property.no
ToS clause banning automated/bot accessdiscover successNone found — checked at Tier 0 (passive scan) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 0 assesses this property.no
Mandatory redirect to vendor’s own siteoperate successNone found — checked at Tier 1 (unauth probe) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 1 assesses this property.no
No Machine Interfaceoperate successNone found — checked at Tier 1 (unauth probe) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 1 assesses this property.yes
Interrupt foundBase weight× Timing× Hardness× Evidence= Penalty
Starting score100
CAPTCHA / bot-challengeSignupSignup page embeds a recaptcha CAPTCHA/bot-challenge (matched: iframe[src*="recaptcha"]).6×1one-time setup×2.5hard×0.8Tier 1 (unauth probe)−12
SSO-only signup, no API-key issuanceSignupSignup offers only OAuth/SSO buttons (Sign up with Google, Sign up with GitHub, Sign up with GitLab, Sign up with Bitbucket, Sign up with email) — no email/password or API-key path.5×1one-time setup×2.5hard×0.8Tier 1 (unauth probe)−10
CAPTCHA / bot-challengeBefore any account existsHomepage load triggered a recaptcha challenge page (matched signal: iframe[src*="recaptcha"]).6×1one-time setup×2.5hard×0.6Tier 0 (passive scan)−9
Total penalty31
Full unknown tax 108.2 — capped at 25 (point score uses 50% of the capped value)108.2
Evidence-graded tax (successes not live-verified by a Tier 2 probe) 129.2 — capped at 25 (point score uses 25% of the capped value)129.2
Raw score = 100 − 31 = 69
Point score = 69 − 50% × 25 − 25% × 25 = 50.3 → 50
50

What would make this Easy

One concrete change per blocker found. These are the diffs between this listing's current parity and an unattended agent path.

How we scored this

Machine-readability checks 65 / 100

Four check groups, equal weight: machine interfaces, browsing efficiency, element discoverability, and discovery/agent access. Each check carries an evidence grade (proven / plausible / emerging) — an honesty label that never weights the score. What these mean →

  • llms.txtemergingFound — netlify.com/llms.txt (2.8 KB, 27 links)
  • llms-full.txtemergingNot provided
  • AGENTS.mdemergingNot provided
  • A2A agent cardemergingNot provided
  • MCP server (well-known or official registry)plausibleNot provided
  • OpenAPI/Swagger specplausibleFound — netlify.com/openapi.json
  • Rate-limit headersplausibleNot provided
  • Structured JSON error responsesplausibleNot checked — no error response was sampled during this probe
  • OAuth authorization-server metadata (RFC 8414)provenNot provided
  • API catalog (RFC 9727) (emerging)emergingFound — netlify.com/.well-known/api-catalog
  • Agent-payment discovery (x402 / UCP) (emerging)emergingNot provided
  • Lean HTML transfer sizeplausible400 KB raw HTML (threshold 488 KB)
  • Manageable DOM sizeplausibleNot provided
  • High content-to-markup densityplausible2.1% text/HTML (8555 chars in 400 KB, threshold 2%)
  • Content readable without JS executionprovenraw HTML holds 197% of rendered text (8555 vs 4344 chars; threshold 40%)
  • Clean-content alternate (RSS/Atom/feed/markdown)plausibletext/markdown, application/rss+xml, application/rss+xml, application/rss+xml
  • Serves markdown on Accept: text/markdownplausiblereturned text/markdown; charset=utf-8
  • Interactive elements are semanticplausible204/204 semantic (100%); 0 div/span click targets
  • Form fields have accessible namesplausible12/15 named (80%)
  • Inputs carry autocomplete hintsplausibleNot provided
  • WebMCP tools (modelContext API)emergingNot provided
  • AI retrieval/search fetchers allowed (robots.txt)provenexplicitly allowed: OAI-SearchBot, ChatGPT-User, PerplexityBot
  • Sitemap (indexability)plausibleFound — www.netlify.com/sitemap-index.xml
  • schema.org JSON-LD in raw HTMLplausible1 valid JSON-LD block(s) in raw (pre-JS) HTML
  • Content-Signal directives (robots.txt)emergingsearch=yes, ai-input=yes, ai-train=yes
  • Web Bot Auth key directory (emerging)emergingNot provided
  • Discovery Link headers on homepage (emerging)emergingrel=api-catalog
  • robots.txt AI-crawler accessplausibleno AI-crawler blocks; explicitly allowed: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, Google-Extended, PerplexityBot
  • Unauthenticated API error is structured JSONplausibleFound — netlify.com/openapi.json (HTTP 200)
  • Unauthenticated API returns auth guidance (401/403 or documented)plausibleFound — netlify.com/openapi.json (HTTP 200)
  • API exposes rate-limit headersplausibleNot provided
  • API key obtainable without human interactionplausibleNot provided

Evidence & history

Last probed 2026-08-09 23:52 UTC. The raw JSON is the archival record.

DateScoreBadgeRubric version
2026-08-09 23:52 UTC50Moderate-Interrupt (current)[email protected]
2026-08-09 23:52 UTC50Moderate-Interrupt[email protected]
2026-08-09 17:13 UTC50Moderate-Interrupt[email protected]
2026-08-09 05:41 UTC57Moderate-Interrupt[email protected]
2026-08-09 05:41 UTC79Moderate-Interrupt[email protected]

Alternatives in Compute / VPS / Cloud Hosting

Other Compute / VPS / Cloud Hosting tools in the same mode (integrated), ranked by Overall LLM-Friendliness (the mean of Interrupt Score and Machine-Readability) — comparable to this listing because they share its usage mode.

Embed this rating

Copy this snippet to display your Interrupt Index seal on your site — the seal image and link stay in sync with your latest probe automatically. Pick the variant that matches your site’s theme.

Light (default)

<a href="https://interruptindex.com/tools/netlify-com"><img src="https://interruptindex.com/badge/netlify-com.svg" alt="Netlify — Interrupt Index agent-readiness rating" height="64"></a>

Dark

<a href="https://interruptindex.com/tools/netlify-com"><img src="https://interruptindex.com/badge/netlify-com.svg?theme=dark" alt="Netlify — Interrupt Index agent-readiness rating" height="64"></a>