---
title: "List Airfoils"
method: GET
path: "/v1/airfoils"
tags: ["v1", "airfoils"]
---

# List Airfoils

`GET /v1/airfoils`

## Request

- Base URL: `https://thrustlab.com`
- URL: `https://thrustlab.com/v1/airfoils`
- Auth: HTTP bearer

Search the UIUC library (cached index) + the caller's custom airfoils.

Query params:
* ``search`` — case-insensitive substring on the section name.
* ``family`` — exact family facet (naca / clark-y / eppler / selig /...).
* ``source`` — ``library`` (read-only UIUC) or ``mine`` (the caller's imports).
* ``cursor`` / ``limit`` — offset-cursor pagination over the merged result.

Returns the standard list envelope (``object:"list"`` / ``data`` /
``has_more`` / ``next_cursor``). The library index is served from the
module-global cache — never enumerated per request.

## Query parameters

- `search` string, nullable
- `family` string, nullable
- `source` string, nullable
- `cursor` string, nullable
- `limit` integer

## Response `200`

Successful Response

- AirfoilListResponse
  - `data` AirfoilResource[], required
    - `camber` number, nullable
    - `family` string, nullable
    - `id` string, required
    - `max_thickness` number, nullable
    - `name` string, required
    - `object` string
    - `source` string, required
  - `has_more` boolean
  - `next_cursor` string, nullable
  - `object` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thrustlab/apis/thrustlab-api.md) · [All operations](https://skmtc.dev/thrustlab/apis/thrustlab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrustlab/apis/thrustlab-api/revisions/c19717e52529?raw)
