API & MCP
One REST API, described in OpenAPI 3.1 and exposed as MCP tools. The spec is at /api/openapi.json and the MCP manifest is at /api/mcp-manifest.json.
Authentication
Send your key as a bearer token. Keys start with ffe_.
curl "https://avfees.com/api/v1/fees?icao=CYSB&aircraft_class=turboprop" \ -H "Authorization: Bearer ffe_..."
Operations
/api/v1/feesMCP tool report_feeReport one observed fee line. Earns credits once validated (more for FBOs with no recent data; 0 for a duplicate).
Requires a key cleared to contribute (scope fees.contribute, which needs operator consent); otherwise 403 consent_required. Contributed lines are credited at once but stay visibility=pending_consent (not returned by any lookup) until published.
/api/v1/feesMCP tool lookup_feesLook up fees at an airport for an aircraft class. Costs 1 credit per FBO returned (free when nothing is found); subscription keys are unlimited and also get labeled projections for fee types with no fresh observation.
| Parameter | Required | Notes |
|---|---|---|
icao | yes | |
aircraft_class | yes | piston, turboprop, light_jet, midsize_jet, super_midsize_jet, heavy_jet, airliner |
fbo | no | Limit to one FBO. Needed for projections. |
fee_type | no | handling, ramp, facility, landing, terminal, parking, overnight, gpu, lav, water, deice, hangar, security, callout, navigation, fuel_surcharge, other |
/api/v1/invoicesMCP tool submit_invoiceSubmit an FBO or airport invoice (PDF, base64). It is parsed into fee lines with every identifying detail dropped; credits are awarded once validated. Re-submitting the same invoice credits 0.
Requires a key cleared to contribute (scope fees.contribute, which needs operator consent); otherwise 403 consent_required. Contributed lines are credited at once but stay visibility=pending_consent (not returned by any lookup) until published.
/api/v1/creditsMCP tool credit_balanceThe calling key's credit balance and tier.
Errors
401: missing or unknown key402 insufficient_credits: a credits key has run out of lookups403 consent_required: the key is not cleared to contribute415 unsupported_file: the invoice isn't a PDF or text file