For AI agents

Arrivl for AI agents

For an AI agent working for a person who is looking at Arrivl. From this page you can run a free audit of that person's website and book a demo for them, with plain HTTP requests or a browser. Nothing to install, no API key.

Plain-text copy of this page: https://arrivl.ai/agents.txt. Installing Arrivl's tracking snippet into a codebase is a different job, covered in https://arrivl.ai/AGENTS.md.

1. What Arrivl is

Arrivl is growth analytics for the agentic web. It records which AI agents request a website's pages and what each one reads: training crawlers such as GPTBot and ClaudeBot, AI search indexers such as OAI-SearchBot, and assistants fetching a page for a person, such as ChatGPT-User and Claude-User. It counts the human visitors who arrive by following a link from an AI assistant. It then fixes what trips agents up in the version of the site that agents see, and keeps improving it as they come back. Setup options are listed at https://arrivl.ai/integrations: Cloudflare (authorize, no code), Shopify (DNS records), or a server-side snippet for any other stack.

2. Facts you can check

Each number is published with its method and sample size. More at https://arrivl.ai/research.

3. Run a free AI-readiness audit of the user's website

No account, no API key. Audit only a website the user asked about.

Start the audit:

POST https://arrivl.ai/api/v1/public/audits
Content-Type: application/json

{"url": "<user's website>"}

url takes a bare domain (example.com) or any URL on the site. The answer is 201 with id, hostname, user_country, audited_region and status ("pending"). Keep hostname: it is what you poll with.

Poll every 10 to 15 seconds:

GET https://arrivl.ai/api/v1/public/audits?hostname=<hostname>

Stop when status is "completed" or "failed". An audit still running after 5 minutes is returned as "failed" with "error": "Audit timed out". The GET always returns the newest audit for that hostname.

Reading a completed audit:

  • total_score is out of max_score. As a percentage: round(total_score / max_score * 100). Take max_score from the same response; it differs between engine versions.
  • checks is an object keyed by check id. Each entry has result ("pass", "partial" or "fail"), score, max_score and details. On "partial" and "fail", details.suggestion says what to change; on "pass", details.affirmation says what already works.
  • section_ratios scores each section from 0 to 1.
  • If final_url is set, the site redirected the audit there: report against final_url, not url.

Limits and errors: at most 10 POST requests per 60 seconds per IP address; above that the answer is 429 with a Retry-After header in seconds. 400 means the URL is missing, unparseable or private. A GET for a hostname that was never audited returns 404.

4. Book a demo over HTTP

The demo is a 20-minute call with the Arrivl team, scheduled through Cal.com. No API key is needed. Read section 6 before you book.

Find open times. start and end are dates; timeZone is the user's IANA time zone:

GET https://api.cal.com/v2/slots?eventTypeSlug=talk&username=arrivl-ai&start=<YYYY-MM-DD>&end=<YYYY-MM-DD>&timeZone=<IANA time zone>
cal-api-version: 2024-09-04

The answer lists open start times per day, in the time zone you asked for. For example, with timeZone=Asia/Taipei:

{"status": "success", "data": {"2026-10-12": [{"start": "2026-10-12T22:00:00.000+08:00"}, {"start": "2026-10-12T22:20:00.000+08:00"}]}}

An empty data object means no open time in that range; ask the user about a later range.

Book the time the user confirmed. start must be UTC in ISO 8601: the 22:00 Taipei slot above is 2026-10-12T14:00:00Z.

POST https://api.cal.com/v2/bookings
Content-Type: application/json
cal-api-version: 2026-02-25

{
  "eventTypeSlug": "talk",
  "username": "arrivl-ai",
  "start": "2026-10-12T14:00:00Z",
  "attendee": {"name": "<user's name>", "email": "<user's email>", "timeZone": "<IANA time zone>"},
  "bookingFieldsResponses": {
    "website": "<user's website>",
    "notes": "Booked by <agent name> on behalf of <user's name>"
  }
}

Name, email and website are required. A 400 names the field that is missing or wrong.

5. Book a demo in a browser

Open the Cal.com booking page with the form already filled in, URL-encoding each value:

https://cal.com/arrivl-ai/talk?name=<name>&email=<email>&website=<website>&notes=<notes>

Choose the time the user confirmed, check the filled-in fields, then submit. notes follows the rule in section 6.

6. Rules for booking

  • Book only for a real person who asked you to, with their consent.
  • Ask the user for their name, email address and website. Never invent or guess them.
  • Before you submit, tell the user the exact date and time in their time zone, and wait for them to confirm it.
  • Put one line in notes: Booked by <agent name> on behalf of <name>, so the person receiving the booking can see that an agent made it.
  • If the arrivl.ai link the user gave you carries ?ref=<code>, add ref=<code> to notes as well.

Questions about this page: hello@arrivl.ai.