About the Open Labor Project API

The Open Labor Project (OLP) API is a free public REST API providing programmatic access to automotive labor times, torque specifications, fluid specs, OBD-II diagnostic trouble codes, and battery specs across thousands of vehicles spanning 1955 to the present. The free Hobbyist tier offers 10 requests per day with attribution required. Paid tiers: Builder ($49/month, 1,000 req/day), Business ($149/month, 10,000 req/day with webhooks and bulk export), and Enterprise ($499/month, 50,000+ req/day with custom integrations and 99.9% SLA). All endpoints return JSON, authenticate via the x-api-key header, and include live X-RateLimit-* response headers. Annual billing on paid tiers includes two months free.

Free Automotive Data API

Labor times, torque specs, fluids, DTC codes, and battery specs for 41,000+ vehicles back to 1955 — including the classics and exotics nobody else covers. Send a VIN, a trunk-lid badge, or a typo; the resolver figures out what you meant and tells you it did. Free key in thirty seconds. Paid plans when you ship.

📖 Full API Documentation →Endpoints, examples, error codes, curl/JS/Python snippets
$ curl "https://openlaborproject.com/api/v1/labor-times
    ?make=bmw&model=135i&year=2008&job=oil-change"
    -H "x-api-key: olp_••••••••••••"

// the caller sent the badge on the trunk lid.
// we catalog the car as 1-series. no 404 — we resolve it:
{
  "data": {
    "make": "BMW",
    "model": "1 Series",
    "engines": [{ "engine": "3.0L I6",
      "laborTimes": [{ "job": "Oil Change", "hours": 0.5 }] }]
  },
  "meta": { "modelRequested": "135i", "modelServed": "1-series" }
}
41,000+vehicles
6M+specifications
1955→71 years of coverage
VINone-call decode + specs

Plans & Pricing

The Hobbyist tier is a free testing key — try the API, see the response shape, validate your integration. When you're ready to put something into production, Builder ($49) is the obvious next step. No data is ever locked behind a tier — limits are about volume and premium features only.

Hobbyist
Free
10 requests/day · 10/min
  • Testing key — not for production
  • 10 requests/day
  • 10 requests/minute
  • Full read access to all endpoints
  • Attribution required
  • Community Discord support
Business
$149/mo
10,000 requests/day · 1000/min
  • For established products and shop tools
  • 10,000 requests/day
  • 1,000 requests/minute
  • Webhooks + bulk export (CSV/JSON)
  • Historical data API
  • Email support (24h response)
Enterprise
$499/mo
50,000 requests/day · 5000/min
  • For high-volume integrations and OEM partners
  • 50,000+ requests/day (custom)
  • 5,000+ requests/minute (custom)
  • Custom integrations + direct support line
  • 99.9% SLA with service credits
  • Annual contract preferred

Quick Start

1

Pick a plan

Free tier: fill out the form below — we review & email your key. Paid tier: subscribe above for instant access.

2

Add Your Header

Include x-api-key in every request.

3

Start Building

Hit any endpoint. Full docs →

# Example: Get all Toyota models curl "https://openlaborproject.com/api/v1/vehicles?make=toyota" \ -H "x-api-key: YOUR_API_KEY"

Authentication

Every request must include your API key in the x-api-key header. Requests without a valid key receive a 401 response.

Rate Limit

Hobbyist: 50/day · Builder: 1,000/day · Business: 10,000/day · Enterprise: 50,000/day. All tiers reset at midnight UTC. Check X-RateLimit-Remaining-Daily in every response header.

Response Format

Every response uses the same JSON envelope:

data
The response payload (null on error)
meta
Count, region, timestamp, and rate limit info
error
Error object with code and message (null on success)
// Error responses follow the same shape { "data": null, "meta": { "timestamp": "..." }, "error": { "code": "RATE_LIMIT_EXCEEDED", "message": "Daily limit of 10 requests exceeded." } }

Endpoints

GET/api/v1/vehicles

List all makes, or drill into models and year/engine variants.

Parameters

NameDescription
makeoptionalFilter by make slug (e.g., toyota)
modeloptionalFilter by model slug (requires make)
regionoptionalMarket region (default: US)

Example Request

curl "https://openlaborproject.com/api/v1/vehicles?make=toyota" \ -H "x-api-key: YOUR_API_KEY"

Example Response

{ "data": { "make": "Toyota", "makeSlug": "toyota", "models": [ { "name": "Camry", "slug": "camry", "vehicleCount": 12 }, { "name": "Corolla", "slug": "corolla", "vehicleCount": 8 } ] }, "meta": { "count": 2, "region": "US", "timestamp": "..." }, "error": null }

Error Codes

CodeHTTPMeaning
MISSING_API_KEY401No x-api-key header provided
INVALID_API_KEY401Key not found, revoked, or malformed
RATE_LIMIT_EXCEEDED429Daily request limit reached (resets midnight UTC)
MISSING_PARAMS400Required query parameters are missing
INVALID_YEAR400Year must be in YYYY-YYYY format
NOT_FOUND404No data found for the given vehicle/parameters
INTERNAL_ERROR500Server error — try again or contact support

Request an API Key

API keys are free and issued manually. Tell us a bit about what you're building and we'll get back to you quickly.