Developer · $49/month
100 runs/month, 5,000 rows, 16 MiB maximum and 24 hours retention.
The FAA's official bulk download is free. A managed export helps when your product needs a specific filtered subset, selected fields, a repeatable query and a bounded downloadable file. The API does not provide unrestricted registry enumeration.
GET https://api.grizzlybulls.com/v1/aircraft/query returns up to ten current records whose released registrantState is FL. That field is the registrant's reported state, not necessarily the aircraft's physical location. A reviewed filter is required; this is not an unfiltered registry walk.
curl --fail-with-body -sS -G \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
--data-urlencode "filter=registrantState:equals:FL" \
--data-urlencode "columns=nNumber,manufacturer,model,registrantState" \
--data-urlencode "sort=nNumber:asc" \
--data-urlencode "limit=10" \
"https://api.grizzlybulls.com/v1/aircraft/query"Free preview requests consume ordinary monthly API quota. See GET https://api.grizzlybulls.com/v1/aircraft/columns for supported filter, sort and projection fields, or start with the exact N-number lookup guide.
POST https://api.grizzlybulls.com/v1/aircraft/exports accepts a format and exactly one registry-query definition or saved-report ID. This request uses the same filter, columns and sort as the Free preview. The HTTP 202 response contains data.exportId and a queued job record, not the finished file. The endpoint also accepts bounded observed change-feed definitions.
curl --fail-with-body -sS -X POST \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
-H "Content-Type: application/json" \
--data @- \
"https://api.grizzlybulls.com/v1/aircraft/exports" <<'JSON'
{
"format": "csv",
"definition": {
"kind": "registry_query",
"query": {
"filters": [
{
"column": "registrantState",
"operator": "equals",
"values": [
"FL"
]
}
],
"columns": [
"nNumber",
"manufacturer",
"model",
"registrantState"
],
"sort": {
"column": "nNumber",
"direction": "asc"
}
}
}
}
JSONFree includes no export runs or saved reports. Developer begins at $49/month; Business at $199/month. Keep the same Grizzly Bulls API key when upgrading.
Replace the placeholder with the data.exportId returned by the create request. Poll with bounded retries until data.status is completed. Handle queued, running, failed and expired without repeatedly creating new jobs, which may consume your monthly export allowance.
export AIRCRAFT_EXPORT_ID="aex_REPLACE_WITH_RETURNED_ID"
curl --fail-with-body -sS \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
"https://api.grizzlybulls.com/v1/aircraft/exports/$AIRCRAFT_EXPORT_ID"curl --fail-with-body -sS -o aircraft-florida.csv \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
"https://api.grizzlybulls.com/v1/aircraft/exports/$AIRCRAFT_EXPORT_ID/download"Export files expire after the plan retention window. The download handler verifies the retained file's size and checksum before serving it; expired files are not available through their old IDs.
100 runs/month, 5,000 rows, 16 MiB maximum and 24 hours retention.
1,000 runs/month, 25,000 rows, 64 MiB maximum and 72 hours retention.
Need recurring updates instead of a one-off file? The observed registry changes and webhooks guide covers the next step. Changes and exports describe accepted FAA observations, not complete historical coverage or confirmed legal ownership transfers.