Map messy company names to stock tickers from any backend.
All public API requests require a Bearer token in the Authorization header.
Authorization: Bearer tm_live_xxxxxxxxxxxxxxxxxx
Generate API keys in your dashboard.
/api/v1/mapMap a single company name to a stock ticker.
{
"name": "LOCKHEED MARTIN AERONAUTICS COMPANY", // required
"country": "US", // optional
"source": "sam.gov", // optional
"context": { "naics": "336411" } // optional
}{
"input": "LOCKHEED MARTIN AERONAUTICS COMPANY",
"matched_company": "Lockheed Martin Corporation",
"ticker": "LMT",
"exchange": "NYSE",
"confidence": 1.0,
"match_type": "exact_alias",
"is_public": true,
"needs_review": false,
"reason": "Matched a known alias.",
"response_ms": 12
}Names that are not publicly traded (private companies, government entities, non-profits) return ticker: null, is_public: false, and a reason. Every returned ticker is verified to be a live US-listed security before it is returned.
curl -X POST https://tickkermapper.vercel.app/api/v1/map \
-H "Authorization: Bearer tm_live_your_key" \
-H "Content-Type: application/json" \
-d '{"name": "LOCKHEED MARTIN AERONAUTICS COMPANY"}'/api/v1/bulk-mapMap multiple company names in a single request.
{
"items": [
{ "name": "LOCKHEED MARTIN AERONAUTICS COMPANY" },
{ "name": "Amazon Web Services Inc." },
{ "name": "Palantir USG Inc" }
]
}{
"results": [
{ "input": "...", "ticker": "LMT", "confidence": 1.0, ... },
{ "input": "...", "ticker": "AMZN", "confidence": 1.0, ... },
{ "input": "...", "ticker": "PLTR", "confidence": 1.0, ... }
],
"total": 3,
"response_ms": 45
}/api/v1/compareValidate a list of name/ticker pairs. For each row we tell you whether the name is a publicly traded company and whether the ticker you supplied is the correct one. Ideal for auditing an existing dataset.
{
"items": [
{ "name": "Lockheed Martin Aeronautics Company", "ticker": "LMT" },
{ "name": "Peraton Inc.", "ticker": "PRT" },
{ "name": "Apple", "ticker": "MSFT" }
]
}{
"results": [
{
"name": "Lockheed Martin Aeronautics Company",
"provided_ticker": "LMT",
"is_public": true,
"matched_ticker": "LMT",
"matched_company": "Lockheed Martin Corporation",
"match_correct": true,
"verdict": "correct",
"reason": "LMT correctly maps to Lockheed Martin Corporation."
},
{
"name": "Peraton Inc.",
"provided_ticker": "PRT",
"is_public": false,
"matched_ticker": null,
"provided_ticker_company": "PermRock Royalty Trust",
"match_correct": false,
"verdict": "not_public",
"reason": "Peraton is a private company. The ticker PRT you supplied actually belongs to PermRock Royalty Trust."
},
{
"name": "Apple",
"provided_ticker": "MSFT",
"is_public": true,
"matched_ticker": "AAPL",
"match_correct": false,
"verdict": "incorrect",
"reason": "\"Apple\" maps to AAPL (Apple Inc.), not MSFT."
}
],
"summary": { "total": 3, "correct": 1, "incorrect": 1, "not_public": 1, "no_ticker_provided": 0 },
"response_ms": 120
}verdict is one of correct, incorrect, not_public, or no_ticker_provided (when you omit the ticker and just want our best match). Each item counts as one request against your quota.
/api/v1/usageGet your current period usage and plan limits.
{
"plan": "starter",
"monthly_limit": 25000,
"used_this_month": 1842,
"remaining": 23158,
"period_start": "2026-04-01T00:00:00.000Z"
}Monthly request limits are enforced per plan. Each response includes rate limit headers:
X-RateLimit-Limit: 25000 X-RateLimit-Remaining: 23158 X-RateLimit-Used: 1842
When you exceed your limit, the API returns 429 Too Many Requests.
| Score | Meaning | needs_review |
|---|---|---|
| 1.00 | Exact verified alias match | false |
| 0.99 | Exact company name match | false |
| 0.85–0.98 | Strong fuzzy match | false |
| 0.70–0.84 | AI-assisted match | false |
| < 0.70 | Low confidence / needs review | true |
| 0.00 | No match found | true |
| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key |
| 400 | Invalid request body (see details field) |
| 429 | Monthly request limit exceeded |
| 500 | Internal server error |