API Reference

Map messy company names to stock tickers from any backend.

Authentication

All public API requests require a Bearer token in the Authorization header.

Authorization: Bearer tm_live_xxxxxxxxxxxxxxxxxx

Generate API keys in your dashboard.

POST/api/v1/map

Map a single company name to a stock ticker.

Request body

{
  "name": "LOCKHEED MARTIN AERONAUTICS COMPANY",  // required
  "country": "US",                                 // optional
  "source": "sam.gov",                             // optional
  "context": { "naics": "336411" }                 // optional
}

Response

{
  "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,
  "response_ms": 12
}

curl example

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"}'
POST/api/v1/bulk-map

Map multiple company names in a single request.

Request body

{
  "items": [
    { "name": "LOCKHEED MARTIN AERONAUTICS COMPANY" },
    { "name": "Amazon Web Services Inc." },
    { "name": "Palantir USG Inc" }
  ]
}

Response

{
  "results": [
    { "input": "...", "ticker": "LMT", "confidence": 1.0, ... },
    { "input": "...", "ticker": "AMZN", "confidence": 1.0, ... },
    { "input": "...", "ticker": "PLTR", "confidence": 1.0, ... }
  ],
  "total": 3,
  "response_ms": 45
}
GET/api/v1/usage

Get 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"
}

Rate limiting

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.

Confidence scores

ScoreMeaningneeds_review
1.00Exact verified alias matchfalse
0.99Exact company name matchfalse
0.85–0.98Strong fuzzy matchfalse
0.70–0.84AI-assisted matchfalse
< 0.70Low confidence / needs reviewtrue
0.00No match foundtrue

Error codes

StatusMeaning
401Missing or invalid API key
400Invalid request body (see details field)
429Monthly request limit exceeded
500Internal server error