{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "tool": {
    "slug": "companylens",
    "name": "CompanyLens",
    "vendor": "CompanyLens",
    "vendorUrl": "https://companylens.io",
    "kind": "http-api",
    "category": "data-providers",
    "summary": "CompanyLens is a REST API and remote MCP server that puts company, officer and beneficial-owner records from government registries in 19 jurisdictions, including Companies House, Ireland's CRO and Norway's Brønnøysund, into one schema.",
    "url": "https://www.anchorterminal.com/tools/companylens",
    "markdownUrl": "https://www.anchorterminal.com/tools/companylens.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/companylens.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/companylens.json",
    "dns": "companylens.grade.anchorterminal.com",
    "license": "Proprietary service. Registry data is passed on under each source registry's licence, such as the Open Government Licence v3.0 for Companies House and CC-BY 4.0 for Ireland's CRO",
    "transports": [
      "http",
      "streamable-http"
    ],
    "remoteUrl": "https://mcp.companylens.io/mcp",
    "packages": [],
    "auth": "mixed",
    "authNotes": "REST: API key (`cl_live_`, or `cl_test_` for the sandbox) in `X-Api-Key` or `Authorization: Bearer`, from the dashboard after signup. Keys rotate and revoke at once from the dashboard; they carry the whole account, with no per-endpoint restrictions. MCP: OAuth 2.0 through Clerk (clerk.companylens.io) with dynamic client registration and scopes openid, profile and email, or a `st_live_` service token on Agent plans for unattended use.",
    "pricing": "freemium",
    "pricingNotes": "REST free tier 500 queries a month with a 50-a-day cap and no card. Starter £39 a month for 5,000, Pro £99 for 25,000, Business £299 for 100,000, about 20% less billed annually. MCP free 50 queries a month, Pro £20 a month for 200 a day, Team £18 a seat. Agent plans £49 and £149 with service tokens. GBP, with USD and EUR at checkout (https://companylens.io/pricing, checked 2026-11-06).",
    "priceSummary": "$52.20 / mo",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the docs, pricing page, llms.txt or OpenAPI document (checked 2026-11-06). Plans are bought through Stripe-hosted checkout.",
      "endpoints": []
    },
    "toolCount": 16,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-11-06"
    },
    "docsUrl": "https://companylens.io/docs",
    "mcpTools": {
      "url": "https://mcp.companylens.io/mcp",
      "checkedAt": "2026-11-07T01:43:25.122296039Z",
      "status": "auth",
      "note": "asks for credentials before listing its tools",
      "changedAt": "2026-11-07T01:43:25.122296039Z"
    },
    "llmsTxt": "https://companylens.io/llms.txt",
    "openapi": "https://api.companylens.io/swagger/v1/swagger.json",
    "capabilities": [
      "data.company",
      "lead.enrichment"
    ],
    "tags": [
      "hosted",
      "mcp",
      "remote-mcp",
      "oauth",
      "openapi",
      "llms-txt",
      "free-tier",
      "no-card",
      "freemium",
      "uk",
      "eu",
      "no-status-page",
      "closed-source"
    ],
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 46.7,
      "grade": "D",
      "agentReady": false,
      "rank": 1153,
      "ranked": true,
      "rankOf": 1486,
      "categoryRank": 10,
      "methodology": "0.7",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 70,
        "maintenance": 3,
        "payments": 30,
        "reliability": 39,
        "schema": 72,
        "security": 47,
        "transparency": 41
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 39,
          "points": 7.8,
          "reason": "Hosted lines. No status page was linked from the site or docs, and status.companylens.io did not resolve (0). No incident history to read (5). Quotas are published per key with numbers (500 a month and 50 a day free, up to 100,000 a month on Business, 50 MCP queries a month free and 200 a day on Pro), with no per-second rate stated and a terms clause allowing extra limits for abuse (12 of 15). The rate-limits page documents 429 RATE_LIMITED with `Retry-After` set to the seconds until the quota resets; the data surface is reads, so no idempotency key is needed, and no backoff advice for 5xx was found (12 of 15). No SLA below enterprise sales (0). The API and MCP server are generally available (10). 0+5+12+12+0+10 = 39.",
          "checked": "2026-11-06"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 72,
          "points": 11.7,
          "reason": "OpenAPI 3.0.4 at api.companylens.io/swagger/v1/swagger.json, behind the Swagger playground linked from the API reference, 20 operations and 55 schemas (25). llms.txt with endpoints, tools and pricing; no Markdown twins of docs pages (7 of 10). Tool descriptions say what each returns and some say when to call it ('use to discover valid jurisdiction slugs before calling other tools'), but llms.txt names four tools (search_entities, get_entity_detail, search_officers, execute_query) and /api/v1 paths that match neither the 16-tool page nor the /v1 paths in the spec, and gives 18 jurisdictions where the site says 19 (11 of 20). 74 parameters, 17 marked required and 12 with enums or schema references (10 of 15). Errors 400, 401, 404, 422, 429, 501 and 503 in the spec, a troubleshooting page, examples pages for REST and MCP and a Postman collection (14 of 15). The path carries v1, but no changelog was found (5 of 15). 25+7+11+10+14+5 = 72.",
          "checked": "2026-11-06"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 70,
          "points": 11.38,
          "reason": "16 MCP tools (15), with get_company returning a core profile and get_company_section fetching only officers or owners, and get_company_batch taking up to 20 companies (20 of 25 with 5 added back). `page` and `pageSize` up to 100 with a `meta` total, and jurisdiction and status filters on search (16 of 20). Errors are JSON with a code, message and correlation id, and the troubleshooting table maps 401 causes to fixes (15 of 20). The data surface is GETs; the only delete is deactivating an API key. MCP tool annotations weren't readable without connecting (12 of 20). Few required parameters, but no official SDK, only a Postman collection (7 of 15). 20+16+15+12+7 = 70.",
          "checked": "2026-11-06"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 47,
          "points": 8.23,
          "reason": "REST keys rotate and revoke at once from the dashboard, with a separate sandbox prefix, but carry the whole account with no per-endpoint restrictions. The MCP server uses OAuth through Clerk with dynamic client registration and only openid, profile and email scopes, or long-lived service tokens on Agent plans. No key in the URL (20 of 30). The data surface is read-only; no write actions on registry data (15 of 20). Company names, addresses and officer details are filed by third parties, with no prompt-injection guidance (5 of 15). get_usage and the usage endpoint show plan use; the privacy policy says audit logs are kept at least a year, with no per-call log documented for customers (7 of 15). security.txt answered 403 and no disclosure policy, bug bounty or certification was found (0 of 20). 20+15+5+7+0 = 47.",
          "checked": "2026-11-06"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "No x402, MPP or L402 (0). Plan prices with query quotas are public on the pricing page and in llms.txt; there is no per-call price outside a plan (10 of 20). REST free tier of 500 queries a month and MCP free tier of 50, both without a card (20). A person signs up in a browser and buys plans through Stripe checkout (0). 0+10+20+0 = 30.",
          "checked": "2026-11-06"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "note": "data quality 63, half of this category once the task suite runs",
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 3,
          "points": 0.26,
          "reason": "Closed service. No changelog, release notes, dated API change or dated docs page was found; the OpenAPI document carries no date and the sitemap no lastmod (0). So no releases in the last 90 days can be counted (0). A contact address and a demo form, with no public tracker or community channel (3 of 15). No official SDK (0). No package to judge (0). 0+0+3+0+0 = 3. The low figure is the checklist's reading of a service with no dated public record, not evidence of neglect.",
          "checked": "2026-11-06"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 41,
          "points": 3.59,
          "note": "editorial 44, provenance 38",
          "reason": "Closed service with terms dated 8 March 2026 under the laws of England and Wales, which name no legal entity (12 of 30). The privacy policy of 18 March 2026 gives retention by data type (usage logs 90 days, server logs 30 days, account data within 30 days of deletion, payments 7 years, audit logs at least a year) and a GDPR lawful basis for registry personal data, with processors described by type only (22 of 30). No deprecation policy or dated notices found (0 of 20). Servers in the EU, some processors in the United States under SCCs, processor categories listed without names (10 of 20). 12+22+0+10 = 44.",
          "checked": "2026-11-06"
        }
      ],
      "assessment": {
        "date": "2026-11-06",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "16 MCP tools (15), with get_company returning a core profile and get_company_section fetching only officers or owners, and get_company_batch taking up to 20 companies (20 of 25 with 5 added back). `page` and `pageSize` up to 100 with a `meta` total, and jurisdiction and status filters on search (16 of 20). Errors are JSON with a code, message and correlation id, and the troubleshooting table maps 401 causes to fixes (15 of 20). The data surface is GETs; the only delete is deactivating an API key. MCP tool annotations weren't readable without connecting (12 of 20). Few required parameters, but no official SDK, only a Postman collection (7 of 15). 20+16+15+12+7 = 70.",
          "maintenance": "Closed service. No changelog, release notes, dated API change or dated docs page was found; the OpenAPI document carries no date and the sitemap no lastmod (0). So no releases in the last 90 days can be counted (0). A contact address and a demo form, with no public tracker or community channel (3 of 15). No official SDK (0). No package to judge (0). 0+0+3+0+0 = 3. The low figure is the checklist's reading of a service with no dated public record, not evidence of neglect.",
          "payments": "No x402, MPP or L402 (0). Plan prices with query quotas are public on the pricing page and in llms.txt; there is no per-call price outside a plan (10 of 20). REST free tier of 500 queries a month and MCP free tier of 50, both without a card (20). A person signs up in a browser and buys plans through Stripe checkout (0). 0+10+20+0 = 30.",
          "reliability": "Hosted lines. No status page was linked from the site or docs, and status.companylens.io did not resolve (0). No incident history to read (5). Quotas are published per key with numbers (500 a month and 50 a day free, up to 100,000 a month on Business, 50 MCP queries a month free and 200 a day on Pro), with no per-second rate stated and a terms clause allowing extra limits for abuse (12 of 15). The rate-limits page documents 429 RATE_LIMITED with `Retry-After` set to the seconds until the quota resets; the data surface is reads, so no idempotency key is needed, and no backoff advice for 5xx was found (12 of 15). No SLA below enterprise sales (0). The API and MCP server are generally available (10). 0+5+12+12+0+10 = 39.",
          "schema": "OpenAPI 3.0.4 at api.companylens.io/swagger/v1/swagger.json, behind the Swagger playground linked from the API reference, 20 operations and 55 schemas (25). llms.txt with endpoints, tools and pricing; no Markdown twins of docs pages (7 of 10). Tool descriptions say what each returns and some say when to call it ('use to discover valid jurisdiction slugs before calling other tools'), but llms.txt names four tools (search_entities, get_entity_detail, search_officers, execute_query) and /api/v1 paths that match neither the 16-tool page nor the /v1 paths in the spec, and gives 18 jurisdictions where the site says 19 (11 of 20). 74 parameters, 17 marked required and 12 with enums or schema references (10 of 15). Errors 400, 401, 404, 422, 429, 501 and 503 in the spec, a troubleshooting page, examples pages for REST and MCP and a Postman collection (14 of 15). The path carries v1, but no changelog was found (5 of 15). 25+7+11+10+14+5 = 72.",
          "security": "REST keys rotate and revoke at once from the dashboard, with a separate sandbox prefix, but carry the whole account with no per-endpoint restrictions. The MCP server uses OAuth through Clerk with dynamic client registration and only openid, profile and email scopes, or long-lived service tokens on Agent plans. No key in the URL (20 of 30). The data surface is read-only; no write actions on registry data (15 of 20). Company names, addresses and officer details are filed by third parties, with no prompt-injection guidance (5 of 15). get_usage and the usage endpoint show plan use; the privacy policy says audit logs are kept at least a year, with no per-call log documented for customers (7 of 15). security.txt answered 403 and no disclosure policy, bug bounty or certification was found (0 of 20). 20+15+5+7+0 = 47.",
          "transparency": "Closed service with terms dated 8 March 2026 under the laws of England and Wales, which name no legal entity (12 of 30). The privacy policy of 18 March 2026 gives retention by data type (usage logs 90 days, server logs 30 days, account data within 30 days of deletion, payments 7 years, audit logs at least a year) and a GDPR lawful basis for registry personal data, with processors described by type only (22 of 30). No deprecation policy or dated notices found (0 of 20). Servers in the EU, some processors in the United States under SCCs, processor categories listed without names (10 of 20). 12+22+0+10 = 44."
        },
        "sources": [
          {
            "what": "home page",
            "url": "https://companylens.io/",
            "seen": "2026-11-06"
          },
          {
            "what": "pricing",
            "url": "https://companylens.io/pricing",
            "seen": "2026-11-06"
          },
          {
            "what": "llms.txt",
            "url": "https://companylens.io/llms.txt",
            "seen": "2026-11-06"
          },
          {
            "what": "API reference",
            "url": "https://companylens.io/docs/api-reference",
            "seen": "2026-11-06"
          },
          {
            "what": "OpenAPI document",
            "url": "https://api.companylens.io/swagger/v1/swagger.json",
            "seen": "2026-11-06"
          },
          {
            "what": "MCP tools",
            "url": "https://companylens.io/docs/mcp-tools",
            "seen": "2026-11-06"
          },
          {
            "what": "MCP setup",
            "url": "https://companylens.io/docs/mcp-setup",
            "seen": "2026-11-06"
          },
          {
            "what": "authentication",
            "url": "https://companylens.io/docs/authentication",
            "seen": "2026-11-06"
          },
          {
            "what": "rate limits",
            "url": "https://companylens.io/docs/reference/rate-limits",
            "seen": "2026-11-06"
          },
          {
            "what": "about",
            "url": "https://companylens.io/about",
            "seen": "2026-11-06"
          },
          {
            "what": "terms",
            "url": "https://companylens.io/terms",
            "seen": "2026-11-06"
          },
          {
            "what": "privacy",
            "url": "https://companylens.io/privacy",
            "seen": "2026-11-06"
          },
          {
            "what": "MCP protected-resource metadata",
            "url": "https://mcp.companylens.io/.well-known/oauth-protected-resource/mcp",
            "seen": "2026-11-06"
          },
          {
            "what": "robots.txt",
            "url": "https://companylens.io/robots.txt",
            "seen": "2026-11-06"
          }
        ],
        "openQuestions": [
          "unchecked: the legal entity behind CompanyLens; the terms, privacy policy and footer name none",
          "unchecked: firstReleased; no dated changelog, release or launch post was found",
          "unchecked: whether the MCP tools carry readOnlyHint annotations, which needs an MCP session",
          "unchecked: per-registry history depth and update cadence, on /docs/data/jurisdictions, not read",
          "unchecked: domain registration date (RDAP returned no events)",
          "The site says 19 jurisdictions and llms.txt lists 18; llms.txt's four MCP tools don't match the 16 on the tools page"
        ]
      },
      "negative": 0,
      "verdict": "One OpenAPI-described API and a 16-tool remote MCP server cover company, officer and owner records from 19 government registries, with a 500-query free tier and no card. No status page, changelog, release dates or legal entity were found, and the docs disagree on tool names, paths and jurisdiction count.",
      "bestFor": "Cross-border company, officer and ownership lookups for KYB, due diligence and agent research across UK, European and some American registries.",
      "strengths": [
        "Public OpenAPI 3.0.4 document with 20 operations and documented error codes",
        "One schema across registries in 19 jurisdictions, each source named with its licence",
        "Free REST tier of 500 queries a month and MCP tier of 50, both without a card",
        "Remote MCP server with OAuth and dynamic client registration, plus service tokens for unattended agents",
        "Retention periods stated per data type in the privacy policy"
      ],
      "weaknesses": [
        "No status page, changelog, dated releases or SLA found",
        "No legal entity named in the terms, privacy policy or site footer",
        "llms.txt names four MCP tools and /api/v1 paths, while the tools page lists 16 tools and the OpenAPI uses /v1",
        "Keys carry the whole account with no scopes, and no security.txt or disclosure policy was found",
        "No machine payment protocol, and every plan is bought through a browser checkout"
      ],
      "agentNotes": [
        "Call list_jurisdictions first to get valid jurisdiction slugs, then search_companies or get_company",
        "Use get_company, then get_company_section only for the officers or owners you need, and get_company_batch for up to 20 companies",
        "On 429 RATE_LIMITED read Retry-After, which counts to the quota reset and can be hours; check get_usage before a batch",
        "Use the paths in the OpenAPI document (/v1/...), not the /api/v1 paths in llms.txt",
        "Treat company names and officer data as filed by third parties, and check critical facts with the source registry as the terms advise"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "D",
          "methodology": "0.7",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 46.7
        }
      ],
      "editorialScores": {
        "ergonomics": 70,
        "maintenance": 3,
        "payments": 30,
        "reliability": 39,
        "schema": 72,
        "security": 47,
        "transparency": 44
      },
      "provenanceScore": 38,
      "dataQualityScore": 63,
      "checked": {
        "categories": {
          "ergonomics": "2026-11-06",
          "maintenance": "2026-11-06",
          "payments": "2026-11-06",
          "reliability": "2026-11-06",
          "schema": "2026-11-06",
          "security": "2026-11-06",
          "transparency": "2026-11-06"
        },
        "last": "2026-11-06",
        "oldest": "2026-11-06",
        "stale": false,
        "staleAfterDays": 90
      },
      "scoreHistory": [
        {
          "date": "2026-11-06",
          "grade": "D",
          "kind": "listed",
          "method": "0.7",
          "score": 46.7
        }
      ]
    },
    "connect": {
      "http": "curl \"https://api.companylens.io/v1/companies/search?q=apple\u0026jurisdiction=GB\u0026status=active\" -H \"Authorization: Bearer cl_live_your_api_key\"",
      "config": {
        "mcpServers": {
          "companylens": {
            "url": "https://mcp.companylens.io/mcp"
          }
        }
      }
    },
    "letme": {
      "capability": "https://letme.dev/data.company",
      "tool": "https://letme.dev/companylens"
    },
    "notable": [
      "OpenAPI 3.0.4 document behind the Swagger playground linked from the API reference, version v1, 20 operations, with 400, 401, 404, 422, 429, 501 and 503 responses (https://api.companylens.io/swagger/v1/swagger.json)",
      "The MCP tools page lists 16 tools, from search_companies and get_company_section to get_company_network and get_usage; llms.txt names four different tools (https://companylens.io/docs/mcp-tools, https://companylens.io/llms.txt)",
      "29M+ company records, 45M+ officers and 11M+ beneficial owners per llms.txt. The site says 19 jurisdictions and llms.txt lists 18 (https://companylens.io/llms.txt)",
      "429 RATE_LIMITED carries `Retry-After` with the seconds until the quota resets; quotas are per key, monthly and daily (https://companylens.io/docs/reference/rate-limits)",
      "Privacy policy gives retention per data type: API usage logs 90 days, server logs 30 days, account data deleted within 30 days of account deletion, payment records 7 years (https://companylens.io/privacy)",
      "The about page names Dylan Budgen as founder (https://companylens.io/about)"
    ],
    "area": "web-data",
    "details": [
      {
        "label": "Surface listed",
        "value": "The REST API at api.companylens.io and the remote MCP server at mcp.companylens.io, read from companylens.io's docs, pricing, about, terms and privacy pages, llms.txt and the OpenAPI document on 6 November 2026. No account was made and no data call was sent"
      },
      {
        "label": "Jurisdictions",
        "value": "United Kingdom, Ireland, Norway, Estonia, Latvia, Czech Republic, Belgium, Slovenia, Slovakia, Switzerland, Cyprus, Moldova, Ukraine, Chile, Argentina, Canada (Federal and Québec) and New Zealand per llms.txt; the site counts 19"
      },
      {
        "label": "Data by jurisdiction",
        "value": "Profiles and officers for most. Beneficial owners for the UK, Estonia, Latvia and Ukraine. Charges, filings and disqualified directors for the UK. UK annual accounts from 2021"
      },
      {
        "label": "MCP tools",
        "value": "search_companies, get_company, get_company_section, get_company_batch, search_people, get_person, get_person_section, get_company_network, get_person_network, find_by_address, get_charges, get_filings, search_disqualified_directors, browse_disqualified_directors, list_jurisdictions, get_usage"
      },
      {
        "label": "Quotas",
        "value": "Per key. REST 500 a month and 50 a day free, then 5,000 to 100,000 a month. MCP 50 a month free, 200 a day on Pro. Quotas reset at 00:00 UTC"
      },
      {
        "label": "Operator",
        "value": "The about page names Dylan Budgen as founder. The terms and privacy policy say only CompanyLens and choose the laws of England and Wales"
      }
    ],
    "unitPrices": [
      {
        "item": "REST Starter, 5,000 queries",
        "unit": "month",
        "usd": 52.2,
        "note": "£39, converted at the ECB reference rates of 6 November 2026 (1.1165 USD and 0.83415 GBP per euro); about £0.0078 a query"
      },
      {
        "item": "REST Business, 100,000 queries",
        "unit": "month",
        "usd": 400.21,
        "note": "£299; about £0.003 a query"
      },
      {
        "item": "MCP Pro, 200 queries a day",
        "unit": "month",
        "usd": 26.77,
        "note": "£20"
      }
    ],
    "provenance": {
      "legalEntity": "",
      "domain": "companylens.io",
      "domainRegistered": "",
      "endpointOnVendorDomain": true,
      "terms": "https://companylens.io/terms",
      "privacy": "https://companylens.io/privacy",
      "statusPage": "",
      "changelog": "",
      "securityTxt": "unknown",
      "checked": "2026-11-06",
      "notes": [
        "Terms last updated 8 March 2026 and privacy policy 18 March 2026. Both say only 'CompanyLens' with no company name or address; the terms choose the laws of England and Wales and the privacy policy names the ICO.",
        "The terms bar scraping or caching the whole dataset for a competing service; there is no clause against automated access in general.",
        "companylens.io/robots.txt disallows /companies/, /people/, /addresses/ and /search for ClaudeBot and other AI crawlers, and /dashboard/, /api/, /v1/ for all. Only marketing, docs, pricing and legal pages were read. api.companylens.io/robots.txt carries content-signal definitions and no rules.",
        "companylens.io/.well-known/security.txt answered 403 and status.companylens.io did not resolve. RDAP returned no events for companylens.io."
      ],
      "score": 38,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "not found",
          "points": 0,
          "max": 20,
          "state": "no"
        },
        {
          "check": "Domain age",
          "value": "companylens.io, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "mcp.companylens.io",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 1 clause that costs points",
          "points": 7.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "could not be fetched",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "1 named with their role, none with a public profile",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Support route",
          "value": "help pages",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://companylens.io/terms",
          "state": "read",
          "readAt": "2026-11-06",
          "statedDate": "2026-03-08",
          "words": 1071,
          "points": 7.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last updated: 8 March 2026",
              "says": "Last updated 2026-03-08"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "These terms are governed by and construed in accordance with the laws of England and Wales.",
              "says": "The law of England and Wales"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "Our total aggregate liability for any claims arising from or related to the Service shall not exceed the amount you paid us in the 12 months preceding the claim.",
              "says": "Capped at the fees paid in the 12 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "We may suspend or terminate your access if you violate these terms."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "We may change pricing with 30 days' written notice.",
              "says": "Gives 30 days of notice before a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "You must not share API keys with unauthorised parties."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "Scrape, bulk-download, or systematically cache the entire dataset for redistribution as a competing service.",
              "costsPoints": true
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://companylens.io/privacy",
          "state": "read",
          "readAt": "2026-11-06",
          "statedDate": "2026-03-18",
          "words": 974,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last updated: 18 March 2026",
              "says": "Last updated 2026-03-18"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "This privacy policy explains how we collect, use, and protect your personal data when you use our website and services."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "These logs are retained for up to 30 days and then deleted.",
              "says": "Names a period of 30 days"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "We do not share your data with third parties for marketing purposes."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "We do not share your data with third parties for marketing purposes."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "If you are named in company registry data and wish to exercise your right to erasure, please contact ."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "When you create an account, we collect your name and email address via our authentication provider (Clerk)."
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "Some third-party processors may process data in the United States under appropriate safeguards (Standard Contractual Clauses or equivalent).",
              "says": "Relies on standard contractual clauses"
            }
          ]
        }
      ]
    },
    "dataQuality": {
      "coverage": "29M+ companies, 45M+ officers and 11M+ beneficial owners from government registries in 18 or 19 jurisdictions (the site and llms.txt differ), with depth varying by registry",
      "coverageRating": 3,
      "freshness": "Pulled on each registry's publication cadence, daily where supported and weekly or monthly elsewhere, per the vendor",
      "freshnessClass": "daily",
      "history": "Officer appointment and resignation history, UK filing history and UK annual accounts from 2021. How far back each registry's records go is not stated in the reviewed documentation",
      "historyYears": 5,
      "methodology": "https://companylens.io/about",
      "sourcesDisclosed": true,
      "licence": "Each registry's licence passes through, such as OGL v3.0 for Companies House, CC-BY 4.0 for Ireland and NLOD 2.0 for Norway; the terms don't claim ownership of registry data",
      "licenceClass": "clear",
      "standing": "A private aggregator of official registry data, not a registry",
      "standingClass": "none",
      "reuse": "Redistribution is allowed on the source licences' terms, but bulk-downloading or caching the whole dataset to run a competing service, and unsolicited marketing to people named in records, are barred by the terms.",
      "score": 63,
      "checks": [
        {
          "check": "Coverage",
          "value": "29M+ companies, 45M+ officers and 11M+ beneficial owners from government registries in 18 or 19 jurisdictions (the site and llms.txt differ), with depth varying by registry (3 of 5)",
          "points": 15,
          "max": 25,
          "state": "part"
        },
        {
          "check": "Freshness",
          "value": "Pulled on each registry's publication cadence, daily where supported and weekly or monthly elsewhere, per the vendor",
          "points": 7,
          "max": 15,
          "state": "part"
        },
        {
          "check": "History",
          "value": "Officer appointment and resignation history, UK filing history and UK annual accounts from 2021. How far back each registry's records go is not stated in the reviewed documentation",
          "points": 9,
          "max": 15,
          "state": "part"
        },
        {
          "check": "Methodology published",
          "value": "companylens.io/about",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Sources disclosed",
          "value": "named",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Licence",
          "value": "Each registry's licence passes through, such as OGL v3.0 for Companies House, CC-BY 4.0 for Ireland and NLOD 2.0 for Norway; the terms don't claim ownership of registry data",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Official standing",
          "value": "A private aggregator of official registry data, not a registry",
          "points": 0,
          "max": 10,
          "state": "no"
        }
      ]
    },
    "humans": {
      "slug": "companylens",
      "checked": "2026-11-06",
      "company": "CompanyLens",
      "people": [
        {
          "name": "Dylan Budgen",
          "role": "Founder",
          "founder": true,
          "page": "/people/dylan-budgen/"
        }
      ],
      "peopleNote": "The about page says CompanyLens was founded by Dylan Budgen, a software engineer with a data engineering and financial services background. No other person, no company name and no address appear on the about, terms, privacy or pricing pages, and no social accounts are linked from the site. No investors were found on companylens.io's about, terms, privacy and pricing pages or in a web search on 6 November 2026, so investors are left out.",
      "companySocial": {},
      "support": {
        "urls": [
          "https://companylens.io/docs",
          "https://companylens.io/docs/api/troubleshooting",
          "https://companylens.io/docs/mcp-troubleshooting"
        ],
        "contactEmails": [
          "hello@companylens.io"
        ],
        "contactUrls": [
          "https://companylens.io/about"
        ]
      },
      "sources": [
        "https://companylens.io/about",
        "https://companylens.io/terms",
        "https://companylens.io/privacy",
        "https://companylens.io/llms.txt"
      ],
      "ownership": {
        "status": "unknown",
        "checked": "2026-11-06",
        "sources": [
          "https://companylens.io/about",
          "https://companylens.io/terms"
        ]
      }
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/companylens.json",
    "live": {
      "slug": "companylens",
      "probe": {
        "target": "https://mcp.companylens.io/mcp",
        "method": "get",
        "lastAt": "2026-11-07T17:49:35.514760118Z",
        "lastOk": true,
        "lastStatus": 401,
        "lastMs": 195,
        "lastNote": "asks for credentials",
        "authRequired": true,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 155,
        "p95ms24h": 240,
        "samples24h": 195,
        "samples30d": 195,
        "days": [
          {
            "date": "2026-11-06",
            "probes": 13,
            "ok": 13
          },
          {
            "date": "2026-11-07",
            "probes": 182,
            "ok": 182
          }
        ]
      },
      "securityTxt": {
        "url": "https://companylens.io/.well-known/security.txt",
        "state": "none",
        "checkedAt": "2026-11-07T15:59:47.88026614Z"
      },
      "llmsTxt": {
        "url": "https://companylens.io/llms.txt",
        "ok": true,
        "status": 200,
        "checkedAt": "2026-11-07T15:32:10.835569227Z"
      },
      "pages": [
        {
          "url": "https://companylens.io/pricing",
          "kind": "pricing",
          "status": 200,
          "checkedAt": "2026-11-07T14:01:50.525968001Z",
          "changedAt": "0001-01-01T00:00:00Z",
          "fingerprint": "07decb361597"
        },
        {
          "url": "https://companylens.io/privacy",
          "kind": "privacy",
          "status": 200,
          "checkedAt": "2026-11-07T14:01:52.739612374Z",
          "changedAt": "0001-01-01T00:00:00Z",
          "fingerprint": "e16c83ab088a"
        },
        {
          "url": "https://companylens.io/terms",
          "kind": "terms",
          "status": 200,
          "checkedAt": "2026-11-07T14:01:54.667825232Z",
          "changedAt": "0001-01-01T00:00:00Z",
          "fingerprint": "f5f3350c8556"
        }
      ],
      "mcpTools": {
        "url": "https://mcp.companylens.io/mcp",
        "checkedAt": "2026-11-07T01:43:25.122296039Z",
        "status": "auth",
        "note": "asks for credentials before listing its tools",
        "changedAt": "2026-11-07T01:43:25.122296039Z"
      },
      "updatedAt": "2026-11-07T17:49:35.514760118Z"
    }
  }
}
