ARC · DEVELOPERS · MCP TOOLS · CHECK A STORE

precheck

Pre-checkout read

Saved pre-checkout answer for a product or store URL: known host, checkout reach, rails, blockers and confidence. Does not fetch the store and does not start a scan.

NO LOGINREAD-ONLYNOT DESTRUCTIVEIDEMPOTENTNOT REACHES THE OPEN WEB

What it does

Free pre-checkout read for a product or store URL. Uses ARC's saved directory, rails, store answers and check history only. Does not fetch the store and does not start a scan. EachSpy, OpenStreetMap and opted-out hosts come back as unknown. JSON: GET /api/precheck?url=.

Limits: 60 reads per network per minute. Cached on the CDN for 5 minutes. Free. Does not start a scan.

Arguments

NameTypeRequiredDescription
urlstringyesProduct or store URL, such as https://allbirds.com/products/shoe.
Full input JSON Schema
INPUT SCHEMA
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Product or store URL, such as https://allbirds.com/products/shoe."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Call it

From Claude, Cursor, ChatGPT or VS Code, connect the server (config) and ask in plain words; the client picks the tool. Or call it directly with JSON-RPC:

CURL · JSON-RPC
curl -s https://www.arcreport.ai/api/ask \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"precheck","arguments":{"url":"https://allbirds.com/products/shoe"}}}'
JAVASCRIPT
const res = await fetch("https://www.arcreport.ai/api/ask", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "precheck",
      "arguments": {
        "url": "https://allbirds.com/products/shoe"
      }
    }
  }),
});
const { result } = await res.json();
const data = JSON.parse(result.content[0].text); // result.isError is true on errors
console.log(data);
PYTHON
import json, requests

res = requests.post("https://www.arcreport.ai/api/ask", json={
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "precheck",
        "arguments": {
            "url": "https://allbirds.com/products/shoe"
        }
    }
}, timeout=30)
result = res.json()["result"]
print(json.loads(result["content"][0]["text"]))

REST equivalent

GET /api/precheck. Documented in openapi.json.

CURL · GET
curl -s 'https://www.arcreport.ai/api/precheck?url=https://allbirds.com/products/shoe'