Skip to content
Gauge

ax-check.com

LegalZoom

legalzoom.com

ax-check.com

Checked 5 November 2026

B

73/100

Agents haven’t verified setup

LegalZoom has strong agent docs, but pricing stays hard to pin down

The site offers a solid structured guide and documented MCP endpoints, yet real prices are never stated on the pages agents could fetch, only flat-fee language.

2 fixes to start with

Concrete changes, backed by what we found.

Onboarding

Resolve the blocker that stopped agent setup.

Agents cannot progress through onboarding without human help. Provide an agent-accessible path through authentication and setup.

Docs

Return Markdown when clients request text/markdown.

Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.

Recorded coding sessions

Same task, 3 models, no legalzoom.com account. Recorded 5 November 2026 on Pi.

3 recorded · 53s

53s · recorded

Session findings

Select a finding to see it in context.

piv0.84.2
modelQwen 3.8 Maxcwd/sandbox/repo
Help me build a simple example using LegalZoom. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.
Thinking…

The user is asking about "LegalZoom" as if it were a product/SDK. Let me check the repo to see what's there.

ls -la /sandbox/repo && cat /sandbox/repo/README* 2>/dev/null | head -50
total 16
total 16
drwxr-xr-x 3 root root 4096 Sep 18 08:00 .
drwxr-xr-x 7 root root 4096 Nov  5 10:57 ..
drwxr-xr-x 8 root root 4096 Sep 24 20:05 .git
-rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore
cd /sandbox/repo && git log --oneline -5 2>/dev/null; ls -R . | head -80
9ebf5fb Initial workspace
9ebf5fb Initial workspace
.:
Thinking…

The repo is empty. LegalZoom is a consumer legal-services company (LLC formation, trademarks, registered agent) — it has no public developer API/SDK. Let me verify quickly: is there any npm package or public API? LegalZoom has partner/affiliate stuff but no public developer platform. Let me quickly check npm/pip availability without long-running commands.

Let me check network access briefly.

cd /tmp && timeout 20 npm view legalzoom 2>&1 | head -5; echo "---"; timeout 20 npm search legalzoom 2>&1 | head -10; echo "--- pip"; timeout 20 pip index versions legalzoom 2>&1 | head -5
npm error code E404
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/legalzoom - Not found
npm error 404
npm error 404  'legalzoom@*' is not in this registry.
npm error 404
---
@api-emulator/legalzoom
LegalZoom provides legal-services workflows for customers, products, orders, business formations, and generated documents.
Version 0.2.2 published 2026-10-23 by GitHub Actions
Maintainers: jsjackson
https://npm.im/@api-emulator/legalzoom

--- pip
ERROR: No matching distribution found for legalzoom

[notice] A new release of pip is available: 26.2.1 -> 26.3
[notice] To update, run: /opt/freestyle/python/bin/python3 -m pip install --upgrade pip
timeout 15 curl -sS -o /dev/null -w "%{http_code}\n" https://www.legalzoom.com/ 2>&1; timeout 15 curl -sS -o /dev/null -w "%{http_code}\n" https://developer.legalzoom.com/ 2>&1; timeout 15 curl -sS -o /dev/null -w "%{http_code}\n" https://api.legalzoom.com/ 2>&1
Failed200
200
curl: (6) Could not resolve host: developer.legalzoom.com
000
curl: (6) Could not resolve host: api.legalzoom.com
000


Command exited with code 6
Thinking…

Interesting: there is @api-emulator/legalzoom — an API emulator package. That suggests a hosted/mock API. Let me inspect it. It's published by GitHub Actions, part of "api-emulator" org. This might be a simulated product with pricing docs. Let's look at its package contents.

No real LegalZoom developer API exists publicly, but there's an emulator package. The task is likely a test environment where the "product" is this emulator. Let me check it.

cd /tmp && timeout 25 npm view @api-emulator/legalzoom --json 2>&1 | head -100
{
{
  "_id": "@api-emulator/legalzoom@0.2.2",
  "_rev": "3-a00ff2105abdd84bab2caf4c34741b6e",
  "name": "@api-emulator/legalzoom",
  "dist-tags": {
    "latest": "0.2.2"
  },
  "versions": [
    "0.0.0-stage",
    "0.2.0",
    "0.2.2"
  ],
  "time": {
    "created": "2026-10-22T22:09:52.058Z",
    "modified": "2026-10-23T21:48:03.880Z",
    "0.0.0-stage": "2026-10-22T22:09:52.058Z",
    "0.2.0": "2026-10-22T22:10:28.383Z",
    "0.2.2": "2026-10-23T21:48:03.534Z"
  },
  "bugs": {
    "url": "https://github.com/jsj/api-emulator/issues"
  },
  "license": "MIT",
  "homepage": "https://api-emulator.jsj.sh",
  "repository": {
    "url": "git+https://github.com/jsj/api-emulator-registry.git",
    "type": "git",
    "directory": "providers/@legalzoom"
  },
  "description": "LegalZoom provides legal-services workflows for customers, products, orders, business formations, and generated documents.",
  "maintainers": [
    "jsjackson <james.sorley.jackson@gmail.com>"
  ],
  "readmeFilename": "README.md",
  "dist": {
    "shasum": "db2b75ac8d40e360a6074c86789c04e619adad83",
    "tarball": "https://registry.npmjs.org/@api-emulator/legalzoom/-/legalzoom-0.2.2.tgz",
    "fileCount": 3,
    "integrity": "sha512-uyqaVfvspqs2pTfLja4JqhApPW5OBVhHVQ75sdXnmYgmiRiU8wuvNjasyTRHh7C7rKU6ROtjymEcW7VoaUpBLg==",
    "signatures": [
      {
        "sig": "MEYCIQCv6Vkcg3egwWF3PqOfrgyasomqicTpFhaujr3sf1MDLgIhANBNjewP16I+/sYu2A/P1TKRS662pUft+JEYDrXOvbWI",
        "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
      },
      {
        "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U",
        "sig": "MEUCIQDzW0vwxd+CM8Ll9UkDq7sgsLUdFd9BFeDMc96aUwCqgwIgQfMJAaM3qVbwoubDrQI/d+EW3hudK5sR8sOonWG/1rY="
      }
    ],
    "attestations": {
      "url": "https://registry.npmjs.org/-/npm/v1/attestations/@api-emulator%2flegalzoom@0.2.2",
      "provenance": {
        "predicateType": "https://slsa.dev/provenance/v1"
      }
    },
    "unpackedSize": 6887
  },
  "main": "./api-emulator.mjs",
  "type": "module",
  "_from": "file:/tmp/api-emulator-provider-packages-FszsHS/api-emulator-legalzoom-0.2.2.tgz",
  "exports": {
    ".": "./api-emulator.mjs"
  },
  "version": "0.2.2",
  "_npmUser": {
    "name": "GitHub Actions",
    "email": "npm-oidc-no-reply@github.com",
    "trustedPublisher": {
      "id": "github",
      "oidcConfigId": "9c47cc78-d217-4779-bf15-d823a6cd5e85"
    }
  },
  "_resolved": "/tmp/api-emulator-provider-packages-FszsHS/api-emulator-legalzoom-0.2.2.tgz",
  "_integrity": "sha512-uyqaVfvspqs2pTfLja4JqhApPW5OBVhHVQ75sdXnmYgmiRiU8wuvNjasyTRHh7C7rKU6ROtjymEcW7VoaUpBLg==",
  "_npmVersion": "11.19.0",
  "directories": {},
  "_nodeVersion": "24.21.0",
  "publishConfig": {
    "access": "public"
  },
  "_hasShrinkwrap": false,
  "peerDependencies": {
    "api-emulator": ">=0.6.0"
  },
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages-npm-production",
    "tmp": "tmp/legalzoom_0.2.2_1792792083457_0.5627911997034165"
  }
}
Thinking…

This is an "api-emulator" provider. It requires api-emulator >= 0.6.0 as a peer dependency. The emulator likely runs a local service (starting a local stack?) — the user said do not start local service stacks. Let me check what api-emulator is: probably a hosted emulator at api-emulator.jsj.sh, and the provider package points to a hosted endpoint. Let's download and inspect the tarball.

cd /tmp && rm -rf lz && mkdir lz && cd lz && timeout 40 npm pack @api-emulator/legalzoom >/dev/null 2>&1 && tar xzf *.tgz && ls -la package && wc -l package/*
total 24
total 24
drwx------ 2 root root 4096 Nov  5 10:57 .
drwx------ 3 root root 4096 Nov  5 10:57 ..
-rw-r--r-- 1 root root 1530 Oct 26  1985 README.md
-rw-r--r-- 1 root root 4728 Oct 26  1985 api-emulator.mjs
-rw-r--r-- 1 root root  629 Oct 26  1985 package.json
  60 package/README.md
 111 package/api-emulator.mjs
  30 package/package.json
 201 total
cd /tmp && timeout 25 npm view api-emulator --json 2>&1 | head -60
{
{
  "_id": "api-emulator@0.9.0",
  "_rev": "7-5840df444dc06c6215c4a168912494b8",
  "name": "api-emulator",
  "dist-tags": {
    "latest": "0.9.0"
  },
  "versions": [
    "0.5.0",
    "0.5.1",
    "0.5.2",
    "0.6.0",
    "0.7.0",
    "0.8.0",
    "0.9.0"
  ],
  "time": {
    "created": "2026-05-10T23:54:42.444Z",
    "modified": "2026-08-11T20:28:10.176Z",
    "0.5.0": "2026-05-10T23:54:42.679Z",
    "0.5.1": "2026-05-11T00:05:57.386Z",
    "0.5.2": "2026-05-12T01:10:25.740Z",
    "0.6.0": "2026-05-13T01:47:07.145Z",
    "0.7.0": "2026-06-06T16:04:01.912Z",
    "0.8.0": "2026-08-03T23:09:50.470Z",
    "0.9.0": "2026-08-11T20:28:09.798Z"
  },
  "bugs": {
    "url": "https://github.com/jsj/api-emulator/issues"
  },
  "license": "MIT",
  "homepage": "https://api-emulator.jsj.sh",
  "keywords": [
    "emulator",
    "mock",
    "api",
    "vercel",
    "github",
    "google",
    "oauth",
    "testing",
    "ci",
    "local-development"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jsj/api-emulator.git",
    "directory": "packages/api-emulator"
  },
  "description": "You can run, share, and extend local API emulators with provider plugins.",
  "maintainers": [
    "jsjackson <james.sorley.jackson@gmail.com>"
  ],
  "readmeFilename": "README.md",
  "version": "0.9.0",
  "type": "module",
  "exports": {
    ".": {
      "import": "./dist/api.js",
      "types": "./dist/api.d.ts"
Thinking…

Important: "api-emulator" description says "run, share, and extend local API emulators with provider plugins." That means it starts a local server stack. The user said: "Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop."

But let me read the provider README first — maybe it points to a hosted endpoint. Let's read both files.

read /tmp/lz/package/README.md{"content":[{"text":"# @api-emulator/legalzoom\n\nLegalZoom provides legal-services workflows for customers, products, orders, business formations, and generate…ctrl+o
{"content":[{"text":"# @api-emulator/legalzoom\n\nLegalZoom provides legal-services workflows for customers, products, orders, business formations, and generated documents.\n\nUse this emulator for local tests, CI, and offline agent runs. It keeps your tests separate from the production API.\n\n## Start the emulator\n\n1. Install the package.\n\n```bash\nnpm install @api-emulator/legalzoom\n```\n\n2. From this registry, start the emulator.\n\n```bash\nnpx -p api-emulator api --plugin ./providers/@legalzoom/api-emulator.mjs --service legalzoom\n```\n\nThe emulator uses the local URL that api-emulator prints. Set your client base URL to this local URL.\n\n## Supported API\n\n- `GET /v1/customers`\n- `POST /v1/customers`\n- `GET /v1/products`\n- `GET /v1/orders`\n- `POST /v1/orders`\n- `GET /v1/orders/:orderId`\n- `POST /v1/business-formations`\n- `GET /v1/business-formations/:formationId`\n- `GET /v1/orders/:orderId/documents`\n- `GET /v1/documents/:documentId`\n- `GET /inspect/contract`\n- `GET /inspect/state`\n\n## Coverage\n\n- Level: `smoke-only`\n- Meaning: A smoke test starts the emulator and checks its main behavior.\n- Evidence: a direct smoke test exists, but a conformance manifest does not exist.\n\n## Credentials\n\nYou do not need production credentials. Use fixed local credentials if your client requires them.\n\n## Test data\n\nAdd repeatable test data to the provider configuration.\n\n```yaml\nlegalzoom:\n  # Add provider-specific seed state here.\n```\n\n## Links\n\n- [Official API docs](https://www.legalzoom.com/)\n- [api-emulator](https://github.com/jsj/api-emulator)\n","type":"text"}]}
read /tmp/lz/package/api-emulator.mjs{"content":[{"text":"// providers/@legalzoom/api-emulator.mjs\nvar STATE_KEY = \"legalzoom:state\";\nvar NOW = \"2026-05-15T12:00:00Z\";\nfunction initialState(…ctrl+o
{"content":[{"text":"// providers/@legalzoom/api-emulator.mjs\nvar STATE_KEY = \"legalzoom:state\";\nvar NOW = \"2026-05-15T12:00:00Z\";\nfunction initialState(config = {}) {\n  return {\n    customers: [{ id: \"cust_ada\", email: \"ada@example.com\", name: \"Ada Lovelace\", created_at: NOW }],\n    products: [\n      { id: \"prod_llc\", name: \"LLC Formation\", category: \"business_formation\", jurisdiction_required: true },\n      { id: \"prod_registered_agent\", name: \"Registered Agent\", category: \"compliance\", jurisdiction_required: true }\n    ],\n    orders: [{ id: \"order_1\", customer_id: \"cust_ada\", status: \"in_progress\", product_id: \"prod_llc\", jurisdiction: \"DE\", created_at: NOW }],\n    formations: [{ id: \"formation_1\", order_id: \"order_1\", entity_name: \"Emulator Legal LLC\", entity_type: \"LLC\", jurisdiction: \"DE\", status: \"draft\" }],\n    documents: [{ id: \"doc_articles\", order_id: \"order_1\", name: \"Articles of Organization\", status: \"draft\", download_url: \"https://example.com/legalzoom/articles.pdf\" }],\n    nextId: 2,\n    ...config\n  };\n}\nfunction state(store) {\n  const current = store.getData?.(STATE_KEY);\n  if (current)\n    return current;\n  const next = initialState();\n  store.setData?.(STATE_KEY, next);\n  return next;\n}\nfunction saveState(store, next) {\n  store.setData?.(STATE_KEY, next);\n}\nasync function json(c) {\n  return c.req.json().catch(() => ({}));\n}\nfunction list(data) {\n  return { data, has_more: false };\n}\nfunction error(c, message, status = 400) {\n  return c.json({ error: { code: status === 404 ? \"not_found\" : \"bad_request\", message } }, status);\n}\nvar contract = {\n  provider: \"legalzoom\",\n  source: \"LegalZoom product integration surface-informed commerce/legal services subset\",\n  docs: \"https://www.legalzoom.com/\",\n  baseUrl: \"https://api.legalzoom.com\",\n  scope: [\"customers\", \"products\", \"orders\", \"business-formations\", \"documents\", \"inspection\"],\n  fidelity: \"stateful-rest-emulator\",\n  notes: \"No public official LegalZoom API reference was found; this models a safe local order and business-formation slice.\"\n};\nvar plugin = {\n  name: \"legalzoom\",\n  register(app, store) {\n    app.get(\"/v1/customers\", (c) => c.json(list(state(store).customers)));\n    app.post(\"/v1/customers\", async (c) => {\n      const s = state(store);\n      const body = await json(c);\n      const customer = { id: `cust_${s.nextId++}`, created_at: new Date().toISOString(), ...body };\n      s.customers.push(customer);\n      saveState(store, s);\n      return c.json(customer, 201);\n    });\n    app.get(\"/v1/products\", (c) => c.json(list(state(store).products)));\n    app.get(\"/v1/orders\", (c) => c.json(list(state(store).orders)));\n    app.post(\"/v1/orders\", async (c) => {\n      const s = state(store);\n      const body = await json(c);\n      const order = { id: `order_${s.nextId++}`, status: \"in_progress\", created_at: new Date().toISOString(), ...body };\n      s.orders.push(order);\n      saveState(store, s);\n      return c.json(order, 201);\n    });\n    app.get(\"/v1/orders/:orderId\", (c) => {\n      const order = state(store).orders.find((item) => item.id === c.req.param(\"orderId\"));\n      return order ? c.json(order) : error(c, \"Order not found\", 404);\n    });\n    app.post(\"/v1/business-formations\", async (c) => {\n      const s = state(store);\n      const body = await json(c);\n      const formation = { id: `formation_${s.nextId++}`, status: \"draft\", ...body };\n      s.formations.push(formation);\n      saveState(store, s);\n      return c.json(formation, 201);\n    });\n    app.get(\"/v1/business-formations/:formationId\", (c) => {\n      const formation = state(store).formations.find((item) => item.id === c.req.param(\"formationId\"));\n      return formation ? c.json(formation) : error(c, \"Formation not found\", 404);\n    });\n    app.get(\"/v1/orders/:orderId/documents\", (c) => c.json(list(state(store).documents.filter((document) => document.order_id === c.req.param(\"orderId\")))));\n    app.get(\"/v1/documents/:documentId\", (c) => {\n      const document = state(store).documents.find((item) => item.id === c.req.param(\"documentId\"));\n      return document ? c.json(document) : error(c, \"Document not found\", 404);\n    });\n    app.get(\"/inspect/contract\", (c) => c.json(contract));\n    app.get(\"/inspect/state\", (c) => c.json(state(store)));\n  }\n};\nfunction seedFromConfig(store, _baseUrl, config = {}) {\n  saveState(store, initialState(config));\n}\nvar label = \"LegalZoom API emulator\";\nvar endpoints = \"Customers, products, orders, business formations, and order documents\";\nvar capabilities = contract.scope;\nvar initConfig = { legalzoom: initialState() };\nvar api_emulator_default = plugin;\nexport {\n  seedFromConfig,\n  plugin,\n  label,\n  initConfig,\n  endpoints,\n  api_emulator_default as default,\n  contract,\n  capabilities\n};\n","type":"text"}]}
Thinking…

So there is no real LegalZoom developer workflow. The only thing available is a local emulator that requires starting a local service (long-running server). The user's instruction: "If this product has no developer workflow you can act on, say so plainly and stop." and "Do not start local service stacks... if the quickstart requires either, say so plainly and stop."

Also pricing: LegalZoom is a consumer product with per-service flat fees + state fees + subscription add-ons (registered agent annual, compliance packages). No API metered pricing. But should I give pricing? The user asked "Tell me how pricing works". I can state: no published API pricing; retail pricing on the website per service, plus subscriptions. But I should be careful about accuracy — I can't verify from the sandbox beyond the homepage. Let me try fetching the legalzoom pricing page quickly to be accurate-ish? Might be blocked/JS. Let's try one quick curl.

Actually keeping it light. Let me try a quick fetch of the pricing page with a short timeout.

cd /tmp && timeout 20 curl -sSL -A "Mozilla/5.0" https://www.legalzoom.com/business/llc 2>&1 | tr -d '\n' | grep -oiE '\$[0-9]+[^<]{0,40}' | head -20; echo "=== status"; timeout 20 curl -sS -o /dev/null -w "%{http_code}\n" https://www.legalzoom.com/business/llc
$1")||null}function syncTradeDeskTdid(ttdP
$1")||null}function syncTradeDeskTdid(ttdP
=== status
404
Thinking…

Nothing useful. So I can't verify pricing from the sandbox. I'll describe generally what's known: LegalZoom charges per-service flat fees + state filing fees, plus optional subscriptions (registered agent ~$249/yr, compliance packages). But I should flag that I couldn't verify in-sandbox.

Now the decision: stop. Report plainly:

  1. No public LegalZoom developer API/SDK exists (no npm/pip package, no developer.legalzoom.com, api.legalzoom.com doesn't resolve; the emulator's own contract says "No public official LegalZoom API reference was found").
  2. The only artifact is @api-emulator/legalzoom, a local mock that requires running a local server (npx -p api-emulator api --plugin ...) — a local service stack / long-running process. Blocked per instructions.
  3. Pricing: no API pricing; retail model.
  4. Manageability: not manageable by me — requires a human account, payment, and identity documents; plus no programmatic surface.

I'll not write files. Should I write a short note file? The user asked to build an example; since I'm stopping, no code. Keep response concise.

Let me double check whether api-emulator has a hosted option (api-emulator.jsj.sh) — maybe hosted emulator exists which wouldn't be a local stack. Let me quickly check.

cd /tmp && timeout 20 curl -sSL https://api-emulator.jsj.sh 2>&1 | tr -d '\n' | head -c 1500; echo; echo "=== legalzoom page"; timeout 20 curl -sS -o /dev/null -w "%{http_code}\n" https://api-emulator.jsj.sh/providers/legalzoom
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/a
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/assets/index-CvtzDPam.css" data-rsc-css-href="/assets/index-CvtzDPam.css" data-precedence="vite-rsc/importer-resources"/><link rel="modulepreload" fetchPriority="low" href="/assets/index-By6TcbnR.js"/><link rel="modulepreload" href="/assets/layout-segment-context-Dipz2J4V.js" crossorigin=""/><link rel="modulepreload" href="/assets/rolldown-runtime-S-ySWqyJ.js" crossorigin=""/><link rel="modulepreload" href="/assets/framework-B8WyT5R3.js" crossorigin=""/><link rel="modulepreload" href="/assets/url-utils-BW4074SE.js" crossorigin=""/><link rel="modulepreload" href="/assets/theme-provider-zSDtNRgM.js" crossorigin=""/><link rel="modulepreload" href="/assets/dist-B3BSkEdm.js" crossorigin=""/><link rel="modulepreload" href="/assets/link-CS6tNe92.js" crossorigin=""/><link rel="modulepreload" href="/assets/search-DVyuixWy.js" crossorigin=""/><link rel="modulepreload" href="/assets/utils-DaPKlV82.js" crossorigin=""/><link rel="modulepreload" href="/assets/theme-toggle-C7qBFHfT.js" crossorigin=""/><link rel="modulepreload" href="/assets/hero-terminal-C-VmXnlQ.js" crossorigin=""/><title>api-emulator | Local API Emulation for CI &amp; Sandboxes</title><meta name="description" content="Local API emulators you can run, share, and extend with plugins."/><meta property="og:title" content="api-emulator | Local API Emulation for CI &amp; 
=== legalzoom page
404
Thinking…

Confirmed: api-emulator is explicitly "Local API Emulation for CI & Sandboxes" — requires running a local server. No hosted endpoint for legalzoom.

Stop and report.

Stopping here — no example built. Reason below.

What I found

No real LegalZoom developer surface exists.

  • npm view legalzoom → 404; pip index versions legalzoom → no distribution.

  • developer.legalzoom.com and api.legalzoom.com do not resolve (DNS failure). legalzoom.com resolves but serves only the consumer marketing site.

  • The only artifact in the registry is @api-emulator/legalzoom (0.2.2), a mock. Its own embedded contract says so:

    "notes": "No public official LegalZoom API reference was found; this models a safe local order and business-formation slice." "baseUrl": "https://api.legalzoom.com" (aspirational — that host doesn't exist), coverage level smoke-only.

The only workflow available requires a local service stack, which you told me not to do. Its quickstart is literally a long-running server:

npx -p api-emulator api --plugin ./providers/@legalzoom/api-emulator.mjs --service legalzoom

and the README says "Set your client base URL to this local URL." The upstream project bills itself as "Local API Emulation for CI & Sandboxes"; there is no hosted endpoint (api-emulator.jsj.sh/providers/legalzoom → 404). So both escape hatches (hosted SDK, hosted API) are closed. Blocked → stopping, per your instruction.

Pricing

There is no API pricing because there is no API. LegalZoom prices as a consumer/prosumer legal retailer: a flat service fee per filing (LLC formation, trademark, will, etc.) plus pass-through state filing fees that vary by jurisdiction, plus optional recurring subscriptions (registered agent, compliance/tax packages billed annually). None of that is metered per call, none of it is published in a machine-readable form, and I could not verify current numbers from this sandbox — legalzoom.com/business/llc returns 404 and the homepage yields no price data, so treat any specific dollar figure as unverified.

Will this be easy for me to manage?

No. Even setting aside the missing API:

  • Every action is a real-world legal filing tied to a named human, a payment instrument, and identity/formation documents. Anything state-changing needs a human owner — I can't consent, sign, or pay on your behalf.
  • There's no programmatic read path either, so I couldn't even monitor order/document status for you; state lives behind a logged-in web session.
  • The mock is not a substitute: it returns hardcoded seed rows (cust_ada, prod_llc, order_1) with fixed timestamps, so anything "built" against it would validate nothing about the real product.

If you want, I can do one of these instead: (a) write a client against a legal-services API that does have a real developer workflow, or (b) build the example against the emulator and label it clearly as mock-only — but (b) needs you to lift the no-local-services constraint.

AX Fundamentals

23 checks. Open an area for details.

This check is a quick preview. Test more tasks and models with Gauge Agents.

Test your product with Gauge Agents

AX Check by Gauge