search_companies

Find covered companies by name or ticker.

What it does

Resolves a company name or ticker to the symbols Crush The Market covers. Search reads the profile table, so a company appears here even if it has not been scored yet -- call get_company to find out. ETFs are never returned: nothing feeds us fund holdings, so they cannot be scored.

search_companies is on the free tier. A free account gets 12 agent calls per 16 hours and this is one of them; Pro is uncounted. The website's own screening allowance is counted separately.

Arguments, returns and a worked call

Everything below is generated from the same registry entry the MCP server and /openapi.json are generated from, so this page cannot name an argument that does not exist. The two examples are the same call, once over each transport.

search_companies

Free

Resolves a company name or ticker to the symbols Crush The Market covers. Search reads the profile table, so a company appears here even if it has not been scored yet -- call get_company to find out. ETFs are never returned: nothing feeds us fund holdings, so they cannot be scored.

Arguments

query string, required — A company name or ticker. Matched as a prefix against both.

limit number, optional — How many results to return, 1-25. Defaults to 10.

Returns

query, count, results, error, as_of, source, disclaimer

curl — Name search; the exact ticker sorts first when one matches.
> curl -s https://crushthemarket.com/api/v1/search_companies \  -H "Authorization: Bearer $CTM_KEY" \  -H 'Content-Type: application/json' \  -d '{"query":"Apple"}'
MCP tools/call — Name search; the exact ticker sorts first when one matches.
{  "jsonrpc": "2.0",  "id": 1,  "method": "tools/call",  "params": {    "name": "search_companies",    "arguments": {      "query": "Apple"    }  }}

Can answer

bad_request — `query` is empty, or is only punctuation that gets stripped.

Calling search_companies

  1. 1.Register free — an email address, no card — then create a key under API Keys on your account page. Your email address has to be verified first, and the key is shown once.
  2. 2.Using a chat client that speaks MCP? The MCP guide is one paste. Anything else takes bearer auth, the error codes and the limits from the REST guide.
  3. 3.Make the call above with your own key in it.

Every successful response carries as_of, source, a quota block saying how much of the allowance is left, and the same disclaimer this page ends on.

More for agents

AgentsWhat exists, and the three-step quickstart.
MCPConnect Claude Code or claude.ai.
REST APIBearer auth, endpoints, errors and limits.
ToolsOne page per tool: arguments, a worked call, what it can fail with.

Data, not advice. Do your own diligence.

Noticed an error with something on our site?

Data, not advice. Do your own diligence.

We Use Cookies