Free Tool — No Signup

Generate openterms.json for any site in 30 seconds

Paste a domain. We crawl the Terms of Service, parse it with AI, and output a valid machine-readable permissions file.

Generated for
Open in Validator

Add this to your site

1. Save the file as openterms.json
2. Serve it at with Content-Type: application/json
3. Optionally reference it in your robots.txt


The agentic web has no legal guardrails

Billions of AI agents are being deployed to browse, buy, post, and transact. None of them can read a terms of service. They don't know what's allowed.


Robots.txt told crawlers where they could go. OpenTerms tells agents what they can do.

Machine-readable legal terms

A standardized protocol that translates terms of service, privacy policies, and usage restrictions into structured data any AI agent can parse.

// /.well-known/openterms.json
{
  "service": "acme.com",
  "openterms_version": "0.3.0",
  "permissions": {
    "read_content": true,
    "scrape_data": {
      "allowed": false,
      "api_alternative": true
    },
    "api_access": {
      "allowed": true,
      "requires_auth": true,
      "max_frequency": "1000/hour"
    },
    "allow_training": null
  }
}

How the generator works

01

Discover legal pages

Probes common paths and scans the homepage for ToS and Privacy Policy links.

02

Extract text

Fetches both pages and strips HTML, preserving the legal content for analysis.

03

AI analysis

Maps each clause to the v0.3.0 schema — permissions, data handling, rate limits, jurisdiction.

04

Validate & deliver

Output is validated against the JSON Schema. Copy, download, and deploy.


How an agent reads it

Three lines of Python. Your agent knows what it's allowed to do before it acts.

import openterms

# Check what's allowed before acting
result = openterms.check("acme.com", "scrape_data")

if result:
    # Permission granted, proceed
    data = fetch_data("https://acme.com/api/items")
else:
    # Blocked: result.decision is "deny" or "not_specified"
    print(f"Cannot scrape acme.com: {result.decision}")

# Generate a compliance receipt (local, no server call)
receipt = openterms.receipt("acme.com", "scrape_data", result.decision)

Works with LangChain, CrewAI, AutoGen, or any Python agent. pip install openterms-py


The legal layer the agentic web is waiting for

OpenTerms is an open protocol. The spec is public. The generator is free. Adoption is the only thing that matters.


Building with agents?


Integrate

LC
LangChain
SDK Available
CA
CrewAI
SDK Available
AG
AutoGen
Coming Soon
BU
browser-use
Coming Soon