MCP App Store
Business & Operations
Canonical Company Search icon

Canonical Company Search

by VY Labs Technologies Private LTD.

Overview

Canonical is verified company search for research and prospecting. Describe what you're looking for in plain language — or pass structured filters like location, headcount, funding stage/investor, and founder background — and get a precise, LLM-verified, domain-keyed shortlist of real companies instead of a page of links. Five tools let you: search for companies, find look-alikes of one you already know, pull a full company profile (including founders and where they worked before), resolve a company name to its domain, and check your credit balance. Useful for sales prospecting, market and competitor research, investor mapping, and sourcing. Free to start: 250 credits on signup, no credit card

Tools

find_similar_companies

ChatGPT
Find companies similar to a given company by domain. Args: company_domain: Domain of the seed company (e.g. "stripe.com") top_k: Number of similar companies to return (1-100, default 20) intent: Optional ranking profile that reorders the similar set AFTER similarity filtering — same taxonomy and selection rule as search_companies (pick the slug matching the user's use case; omit / pass null for relevance-only ordering). Intent only changes the ORDER of the matched set; it never changes which companies are in it, the candidate pool, or the credits charged. Use it for requests like "companies similar to Stripe that are hiring/growing fast" or "...ranked for who's buying now". Allowed slugs: - "sales_prospecting": general outbound ICP list. - "sales_timing": accounts with a near-term buying window. - "sales_expansion": existing customers ripe for upsell. - "competitive_tracking": monitor NAMED competitors' direction. - "emerging_competitor_scan": discover rising new entrants. - "talent_source": companies to poach candidates from. - "recruiter_employer_vet": vet a company for a candidate. - "jobseeker_stability": job security over upside. - "jobseeker_growth": career-growth / high-momentum companies. See search_companies for the full per-slug guidance. include_partials: When True, also returns LLM-evaluated "partial" matches (close but not strong). Off by default because partials aren't billed; opt in only when the user wants exploratory context beyond strong matches. Default False. exclude_company_domains: Optional list of company domains to exclude from the similar-companies results. Useful when the seed has obvious near-clones you want to skip (e.g. "similar to Stripe, not Square or Adyen"). Unresolvable domains appear in warnings. When presenting results to the user, render each company's domain as a clickable link to the company's website (e.g. as a Markdown link to https://<domain>). Note: each candidate is independently LLM-verified, so the exact set (and therefore the result count and credits charged) can vary slightly between otherwise-identical calls — borderline matches may pass on one run and not the next. This is expected and is not affected by intent.

get_account_status

ChatGPT
Return the authenticated org's credit balance, plan, and search rate limits. Use this to check remaining credits before issuing a search, or to pace requests against the org's per-minute and per-day limits. This call is completely free — it charges no credits and does not count against the search rate budget. Returns: - credits: bucket breakdown (total, subscription, extra) and subscription_resets_at (ISO datetime string or null) — when the subscription bucket will next be refilled. - plan: the org's current plan name (e.g. "free", "starter", "pro"). - rate_limits: per_minute and per_day search operation limits for the current plan. - billing_url: URL to the billing page to top up or upgrade.

get_company_details

ChatGPT
Return the full detail payload for one canonical company by domain. Use this AFTER a search to drill into a specific company. Returns: - company: full canonical fields (name, domain, description, hq, employees, funding, dimensions). Includes defunct (bool) — when true the company has shut down, so don't route users to it. Always present when the domain resolves to a known company. Internal id fields are intentionally not included. - people: key people (cofounders + C-suite/execs — not only founders) with role, headline, LinkedIn URL, and prior_companies (each with category tags like 'faang', 'unicorn', 'top_startup', 'big_tech', 'mbb', and a domain handle you can pass back into this tool to walk the company graph). May be empty. - leadership_data: "available" (people populated), "not_available" (company is in our DB but not in the leadership subset — most companies fall here), or "error" (transient lookup failure). Free to call but rate-limited to prevent enumeration. When showing this to the user, render the domain as a clickable link to the company's website (e.g. as a Markdown link to https://<domain>). Args: company_domain: Domain of the company (e.g. "stripe.com") — the same handle returned in search results.

lookup_companies

ChatGPT
Look up companies by name to disambiguate before another tool. Use this when a user names a company you'll feed into find_similar_companies (as a seed) or search_companies (as an exclude_company_domains entry) and the name might be ambiguous. Returns, per input name: - candidates: ranked (best-guess-first) list, each with name, domain, headquarters, description, is_primary, and payload_richness. - confidence: "high" (one entity) | "medium" (a dominant entity among rivals) | "low" (comparable rivals — a real toss-up). - primary_candidate_domain: the recommended domain, or null when asking. - auto_resolve_recommended: bool. Disambiguation policy — FOLLOW THIS: - If auto_resolve_recommended is true, proceed silently with primary_candidate_domain (the one candidate marked is_primary). Do NOT ask the user — the match is unambiguous (one entity, or a clear dominant one). - If auto_resolve_recommended is false, primary_candidate_domain is null and NO candidate is is_primary — none is authoritative. Present candidates to the user as a list and WAIT for them to pick before calling the next tool. Do not auto-select even if one looks right — disambiguation is the point. Free, rate-limited. Args: names: One or more free-text company names to look up. k: How many candidates to return per name (1-25, default 5). disambiguation_mode: Override the recommendation for non-interactive callers. "auto_when_confident" (default) follows the policy above; "always_auto" never asks (use the primary); "always_ask" always asks.

search_companies

ChatGPT
Search Canonical's verified company graph for the long tail — the companies others miss. This is precise, LLM-verified company discovery, not a web search that returns ranked links. description is the only fuzzy / semantic field: it expresses a free-text concept (e.g. "enterprise SaaS for supply-chain visibility"), which is passed to an LLM verifier that checks each candidate against the intent and returns a verdict. Everything else is an exact, hard filter — the pipeline enforces it before the verifier sees a result. IMPORTANT — unsupported constraints: there is intentionally NO field for constraints we cannot enforce (founder demographics, profitability, YC / accelerator batch, individual revenue figures). If the user asks for one, tell them it isn't a supported filter rather than pretending it was applied — or fold the idea into description for loose semantic verification. For example "YC S22 company" → description="Y Combinator Summer 2022 batch startup", which the verifier will check loosely. Args: description: Free-text semantic concept describing what the company does. This is the ONLY fuzzy field — the LLM verifier reads it and checks each candidate for match/partial/irrelevant. Examples: "B2B SaaS for HR teams", "consumer fintech targeting millennials", "climate tech in renewable energy storage". Omit (or pass null) for purely filter-driven searches (e.g. "all Series B companies in India with 50-100 employees"). cities: Restrict to companies headquartered in these cities. Exact match (case-insensitive). Example: ["San Francisco", "New York"]. For a metro/region, list all constituent cities and include common name variants (e.g. Gurgaon/Gurugram, Bengaluru/Bangalore). states: Restrict to these states/provinces. Example: ["California", "New York"]. Use full name, not abbreviation. countries: Restrict to these countries. Expand geographic regions to their constituent countries before passing — e.g. "Southeast Asia" → ["Indonesia", "Vietnam", "Thailand", "Philippines", "Malaysia", "Singapore"]; "Nordics" → ["Sweden", "Norway", "Denmark", "Finland", "Iceland"]. Single country: ["India"]. employee_size: Headcount band. One of: "1-10", "11-50", "51-100", "101-500", "501-1000", "1001-5000", "5001+". For "well-funded startup" signals, use funding_min_usd instead. founding_year_min: Lowest founding year to include (inclusive 4-digit year). E.g. 2015 means "founded in 2015 or later". Combine with founding_year_max to express a range. founding_year_max: Highest founding year to include (inclusive). E.g. 2020 means "founded in 2020 or earlier". For an exact year, set founding_year_min == founding_year_max. founding_year_exclude_min: Lowest year of a contiguous range to EXCLUDE (inclusive). Both exclude_min and exclude_max must be set together; for a single-year exclusion ("not founded in 2020"), set both to the same year. founding_year_exclude_max: Highest year of the contiguous range to EXCLUDE (inclusive). Note on NULLs: companies with unknown founding year are DROPPED when including (min/max), but KEPT when excluding — matching the intuitive reading of "not founded in 2020" (unknowns might be). funding_series: One or more funding-round labels to include. Values: "pre_seed", "seed", "series_a", "series_b", "series_c", "series_d", "series_e", "series_f", "series_g_plus", "growth", "late", "bridge", "venture", "angel", "other". funding_min_usd: Minimum TOTAL funding raised (USD). Heuristics: "well-funded startup" ≈ 50_000_000; "unicorn-range" use funding_post_money_min_usd instead. funding_post_money_min_usd: Minimum post-money valuation (USD). Heuristic: "unicorn" ≈ 1_000_000_000. funded_after: Only include companies that raised a round after this ISO date (YYYY-MM-DD). Example: "2022-01-01". funding_investor: Filter to companies backed by these investors. Pass the investor firm name; the server expands it to canonical variants and fund-family splits automatically. Example: "Sequoia" resolves to "Sequoia Capital", "Peak XV Partners", "Sequoia Capital India". You may pass multiple investors for an OR match. has_repeat_fo…

App Stats

5

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily