Public API

Trackly API

Build on top of Trackly's job tracking data.

Base URL

https://closeai.mba/api/v1

The Trackly web app uses internal /jobscout/* endpoints (session-based). External developers use the public /api/v1/* endpoints below.

Authentication

All requests require an API key passed as a Bearer token in the Authorization header.

Authorization: Bearer trk_xxxxxxxxxxxxxxxxxxxx

Generate an API key from Settings in your Trackly account, then use it in the CLI with trackly config --api-key trk_xxx or TRACKLY_API_KEY=trk_xxx.

Endpoints

GET/api/v1/jobs

Search and list job postings

Parameters: function, location, modality, status, sort, limit, offset, keywords

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/jobs?function=product&location=san+francisco&limit=10"
GET/api/v1/jobs/:id

Get a single job posting with full details

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/jobs/12345"
GET/api/v1/companies

List all monitored companies

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/companies"
GET/api/v1/companies/search

Semantic company search

Parameters: q

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/companies/search?q=fintech+series+b"
GET/api/v1/stats

Metrics dashboard (jobs tracked, companies, applications)

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/stats"
GET/api/v1/ask

Natural language job search (AI-powered, 20 requests/day)

Parameters: q

curl -H "Authorization: Bearer trk_xxx" \
  "https://closeai.mba/api/v1/ask?q=PM+jobs+at+fintech+companies+in+NYC"

Rate Limits

EndpointLimit
Data endpoints (jobs, companies, stats)200 requests / hour
/ask (AI-powered)20 requests / day

Rate limit headers are included in every response: X-RateLimit-Remaining, X-RateLimit-Reset.

Errors

The API returns standard HTTP status codes. Error responses include a JSON body:

{
  "error": "Invalid API key",
  "status": 401
}
CodeMeaning
401Missing or invalid API key
429Rate limit exceeded
500Internal server error