Loading...
Loading...
Base URL: https://api.myaviationtools.com · Version: v1
All API endpoints (except POST /api/v1/keys) require an API key. Pass it using either the Authorization header or the X-API-Key header.
# Option A — Authorization header (recommended)
curl -H "Authorization: Bearer mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/jobs"
# Option B — X-API-Key header
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/jobs"mat_ and generated via POST /api/v1/keys. The raw key is shown exactly once at creation time — store it securely.Rate limits are enforced per API key. Exceeding them returns HTTP 429 with a Retry-After header.
| Tier | Per Minute | Per Day | Notes |
|---|---|---|---|
| free | 60 | 1,000 | Default for new keys |
| basic | 300 | 10,000 | Included with Basic plan |
| pro | 1,000 | unlimited | Included with Pro plan |
| enterprise | 5,000 | unlimited | Custom — contact us |
All responses are JSON. Successful responses wrap data in a data field. Paginated responses include a meta object.
// List response
{
"data": [...],
"meta": { "total": 847, "page": 1, "pages": 43, "limit": 20 }
}
// Single-item response
{
"data": { ... }
}
// Error response
{
"error": "Invalid API key."
}| Status | Meaning |
|---|---|
| 200 | OK |
| 201 | Created (POST /api/v1/keys) |
| 400 | Bad request — invalid query parameter |
| 401 | Missing or invalid API key |
| 403 | Forbidden — key disabled, expired, or insufficient tier/scope |
| 404 | Resource not found |
| 429 | Rate limit exceeded — check Retry-After header |
| 500 | Internal server error |
/api/v1/jobsfreeList aviation job listings with optional filters.
| Parameter | Type | Description |
|---|---|---|
| section | string | mx or fly |
| category | string | Job category slug (e.g. line-maintenance, avionics) |
| location | string | City or state (partial match) |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20, max: 100) |
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/jobs?section=mx&limit=5"/api/v1/jobs/:slugfreeGet a single job listing by its URL slug.
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/jobs/ap-mechanic-delta-atl"/api/v1/aircraftfreeList aircraft-for-sale listings.
| Parameter | Type | Description |
|---|---|---|
| make | string | Aircraft manufacturer (partial match) |
| model | string | Aircraft model (partial match) |
| status | string | for-sale (default) |
| min_price | number | Minimum price (USD) |
| max_price | number | Maximum price (USD) |
| page | number | Page number |
| limit | number | Results per page (max: 100) |
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/aircraft?make=Cessna&max_price=300000"/api/v1/aircraft/:idfreeGet a single aircraft listing by ID.
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/aircraft/1"/api/v1/verification/:userIdfreeGet credential verification badges for a user. Public endpoint for displaying verified status.
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/verification/user-uuid-here"/api/v1/market-databasic+Aggregated salary, hiring demand, and aircraft market data. Requires basic tier or higher.
| Parameter | Type | Description |
|---|---|---|
| type | string | salary | jobs | aircraft (default: salary) |
| section | string | mx or fly |
| category | string | Job/cert category |
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/market-data?type=salary§ion=mx"/api/v1/reportsfreeList published intelligence reports.
| Parameter | Type | Description |
|---|---|---|
| type | string | workforce | hiring | market |
| page | number | Page number |
| limit | number | Results per page (max: 50) |
curl -H "X-API-Key: mat_your_key_here" \
"https://api.myaviationtools.com/api/v1/reports?type=workforce"/api/v1/keysCreate a new API key. Requires a valid myavijobs.com session (cookie auth). The raw key is returned once and never stored.
| Parameter | Type | Description |
|---|---|---|
| name | string | Human-readable label for the key |
| tier | string | free | basic | pro | enterprise |
| scopes | string[] | Permission scopes (e.g. ['jobs:read']) |
| expires_at | string|null | ISO 8601 expiry date or null |
curl -X POST \
-H "Content-Type: application/json" \
-b "your_session_cookie" \
-d '{"name": "My App Key", "tier": "basic"}' \
"https://api.myaviationtools.com/api/v1/keys"Scopes restrict what a key can access. Use * for unrestricted access (pro/enterprise only).
| Scope | Grants Access To |
|---|---|
| jobs:read | GET /api/v1/jobs, GET /api/v1/jobs/:slug |
| aircraft:read | GET /api/v1/aircraft, GET /api/v1/aircraft/:id |
| verification:read | GET /api/v1/verification/:userId |
| market-data:read | GET /api/v1/market-data (basic+ tier required) |
| reports:read | GET /api/v1/reports |
| * | All current and future endpoints |
market-data:read scope AND basic tier or higher. Free-tier keys receive HTTP 403 regardless of scope.Questions? Email [email protected] or open a ticket at myavijobs.com/contact.
MyAviationTools API v1 · Built by an A&P mechanic