Docs / FAA drone data

FAA Drone Data API (Part 107 waivers, BVLOS, FRIA sites)

Every FAA Part 107 waiver in one dataset, in effect or upcoming, with status (company, responsible person, waiver number, waived rules such as BVLOS 107.31 and over-people 107.39, effective-from and expiration dates, link to the signed PDF), plus all FAA-Recognized Identification Areas (FRIA) with location.

Run it on Apify ↗ API tab ↗ Compare alternatives

Facts on this page were checked against the live Apify listing on 2026-10-22. The Apify Store page is the source of truth for price.

Who it is for

Drone insurance and hardware sales, drone-show / inspection / delivery market research, counter-UAS startups, investors, journalists and AI agents.

Pricing (pay per event)

EventChargedPrice (USD)
recordper record returned$0.002
apify-actor-startper run$0.00005

The full active waiver list (~2,200 records) costs about $4.50. No subscription. Paid Apify plans get Store tier discounts automatically, and you can set a maximum total charge per run.

Data sources

Update cadence: Read live from FAA at run time. Dates are exactly as FAA publishes them (FAA's "Date of Issuance" is the effective-from date, often in the future; see status).

Coverage: All active Part 107 waivers (~2,200 records) and all FRIA sites.

Inputs

FieldTypeDefaultWhat it does
datasetsarray["waivers"]Which official FAA datasets to return.
issuedAfterstringYYYY-MM-DD. Waivers: effectiveFrom date. FRIA: start date. Empty = all.
regulationsarrayWaived Part 107 sections to keep, e.g. ["107.31"] (BVLOS), ["107.39"] (over people), ["107.29"] (night), ["107.51(b)"] (altitude). Empty = all.
keywordsarrayMatch company/person (waivers) or site/organization/city (FRIA).
statesarrayTwo-letter states for FRIA sites. Empty = all.
activeOnlybooleantrueSkip expired waivers/sites.
maxItemsinteger100Maximum records; each is one charged result ($0.002). Use 10-50 for a quick answer.
onlyNewbooleanfalseRemember results across runs (per account) and return only items not seen before. Ideal for scheduled runs: you pay only for new records.
webhookUrlstringOptional. POSTs the new items as JSON with a 'text'/'content' summary (Slack, Discord, Zapier, Make, n8n compatible).

Output fields

dataset, waiverNumber, companyName, responsiblePerson, waivedRegulations[], issueDate, expirationDate, active, documentUrl; FRIA: organization, address, dates, coordinates.

Example input

{
  "datasets": ["waivers"],
  "regulations": ["107.31"],
  "issuedAfter": "2026-01-01",
  "maxItems": 25
}

Example output row

{ "dataset": "part107_waiver", "waiverNumber": "107W-2026-02528", "companyName": "Sky Elements LLC", "responsiblePerson": "Preston Ward",
  "waivedRegulations": ["107.51(b)"], "issueDate": "2026-12-05", "expirationDate": "2026-12-31", "active": true,
  "documentUrl": "https://www.faa.gov/sites/faa.gov/files/107W-2026-02528-Preston-Ward-CoW.pdf" }

Call it from code or an AI agent

REST (one call, returns JSON rows):

curl -X POST "https://api.apify.com/v2/acts/johto.data~faa-drone-data/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"datasets":["waivers"],"regulations":["107.31"],"issuedAfter":"2026-01-01","maxItems":25}'

Python: ApifyClient(token).actor("johto.data/faa-drone-data").call(run_input={...})

MCP (Claude, Cursor, any MCP client): https://mcp.apify.com/?tools=johto.data/faa-drone-data

Limits and notes

FAQ

Who holds FAA BVLOS waivers?

Filter regulations to ["107.31"] to get every BVLOS waiver holder, in effect or upcoming, with company, responsible person and the signed PDF.

Is there an FAA bulk download of Part 107 waivers?

FAA publishes a searchable waivers-issued page with PDF links. This Actor turns it into structured JSON.

Apify Store listing: https://apify.com/johto.data/faa-drone-data. Questions: [email protected].