# Get Started

Overview and documentation for using the Font Awesome REST API.

> With our REST API, you can programmatically retrieve cached information about Font Awesome icons, families and styles, icon packs, and icon collections.

# Version Parameters

In the endpoints below, where you see `:version`, replace that with the version of Font Awesome you want to query. For example, if you want to get the familyStyles for version 7.2.0, make a request to `/releases/7.2.0/family-styles`.

Versions follow the form `<major>.<minor>.<patch>`, like `7.2.0`.

# CDN Cache

The responses for each of the `/releases/:version` endpoints below are long-term CDN cached.

## Releases

`GET /releases`

Returns every available Font Awesome release. Each entry provides the version string, the release date (ISO 8601, `YYYY-MM-DD`), and a flag indicating whether it is the current latest release.

This endpoint takes no query parameters.

This REST endpoint provides a minimal selection of fields from the `Release` object. The full `Release` object, with more fields and relationships, is available via the GraphQL API. See [Release](/apis/graphql/objects.md#release) for details.

#### Example Response

The full response includes every release going back to 5.0.1. Trimmed here to the three most recent releases, as of `7.2.0`, for illustration:

```json
{
  "releases": [
    {
      "date": "2025-08-28",
      "isLatest": false,
      "version": "7.0.1"
    },
    {
      "date": "2025-09-29",
      "isLatest": false,
      "version": "7.1.0"
    },
    {
      "date": "2026-02-04",
      "isLatest": true,
      "version": "7.2.0"
    }
  ]
}
```

## Family Styles

`GET /releases/:version/family-styles`

Returns every family-style available in the given release, with its prefix and shorthand. Use this to enumerate the styles a release supports — for example, to populate a UI that lets users pick a family and style of icons to preview.

This endpoint takes no query parameters.

See also [FamilyStyle](/apis/graphql/objects.md#familystyle) for description of the family-style object and its fields.

In the GraphQL API, all familyStyles can also be selected under [Release.familyStyles](/apis/graphql/objects.md#release), or according to license, using [Release.familyStylesByLicense](/apis/graphql/objects.md#familystylesbylicense).

#### Example Response

Trimmed to a representative slice (the full response lists every family-style in the release):

```json
{
  "familyStyles": [
    {
      "family": "classic",
      "prefix": "fas",
      "shorthand": "solid",
      "style": "solid"
    },
    {
      "family": "classic",
      "prefix": "fab",
      "shorthand": "brands",
      "style": "brands"
    },
    {
      "family": "duotone",
      "prefix": "fad",
      "shorthand": "duotone",
      "style": "solid"
    },
    {
      "family": "sharp-duotone",
      "prefix": "fasds",
      "shorthand": "sharp-duotone-solid",
      "style": "solid"
    },
    {
      "family": "notdog-duo",
      "prefix": "fands",
      "shorthand": "notdog-duo-solid",
      "style": "solid"
    }
  ]
}
```

## Icon Packs

`GET /releases/:version/icon-packs`

Returns the collections, packs, and visual tags available in a release. Three top-level arrays are returned:

- `iconPacks` — An Icon Pack is a grouping of families that share a common visual personality. Each item in this array carries metadata about the pack's designer, label, and the familyStyles it includes.

- `iconCollections` — An Icon Collection is a grouping of Icon Packs available to a given subscription plan. See details below.

- `visualTags` — Visual taxonomy labels applied to Icon Packs. For example: Duotone, Line, Round, Sharp, Sketch, Dimensional.

This endpoint takes no query parameters.

#### More on Icon Collections

An Icon Collection is a group of Icon Packs available to a particular subscription plan. For example, Pro subscribers get the `pro-collection` Icon Collection, which includes the Sharp Duotone Icon Pack, among others, but not the Whiteboard Icon Pack. Pro Plus subscribers get the `pro-plus-collection` Icon Collection, which includes all Icon Packs in `pro-collection`, as well as the Pro Plus Icon Packs like Whiteboard.

##### Subsetting Icon Collections

An Icon Collection might be subsetted, as is the case for `free-collection`. It includes the Classic and Brands Icon Packs, but only a subset of Classic.

The `subset` field of an Icon Collection lists which familyStyles are included. Furthermore, the `only` subfield of each family-style in the `subset` lists which icons from that family-style are included. This is how we represent that Font Awesome Free includes the Classic Solid and Classic Regular familyStyles, but only a subset of icons within each.

Where there is no `subset` field for a family-style, it means the entire family-style is included. This is the case for `free-collection` and its Classic Brands family-style. All brand icons are included in Free, so there is no need to list them in a `subset`.

#### Example Response

Trimmed for readability. The real response for Font Awesome 7.2.0 includes 3 collections, 14 packs, and 7 visual tags. The example below shows all 3 collections; 3 of the 14 packs (Classic, Duotone, and Graphite); and 5 of the 7 visual tags — the ones referenced by the packs shown, including `sketch` which is distinctive to Graphite. The Free collection's `subset` `only` arrays are also trimmed — in the real response each can list thousands of icon names per family-style.

```json
{
  "iconCollections": [
    {
      "iconPacks": ["brands", "classic"],
      "label": "Font Awesome Free",
      "labelIconName": "bolt",
      "labelIconPrefix": "fas",
      "name": "free-collection",
      "subset": [
        {
          "family": "classic",
          "style": "solid",
          "only": ["address-book", "alarm-clock", "anchor", "apple-whole"]
        },
        {
          "family": "classic",
          "style": "regular",
          "only": ["address-book", "address-card", "alarm-clock"]
        },
        {
          "family": "classic",
          "style": "brands"
        }
      ]
    },
    {
      "iconPacks": ["brands", "classic", "duotone", "sharp", "sharp-duotone"],
      "label": "Font Awesome Pro",
      "labelIconName": "icons",
      "labelIconPrefix": "fas",
      "name": "pro-collection"
    },
    {
      "iconPacks": [
        "brands",
        "classic",
        "duotone",
        "sharp",
        "sharp-duotone",
        "chisel",
        "etch",
        "graphite",
        "jelly",
        "notdog",
        "slab",
        "thumbprint",
        "utility",
        "whiteboard"
      ],
      "label": "Font Awesome Pro Plus",
      "labelIconName": "shapes",
      "labelIconPrefix": "fas",
      "name": "pro-plus-collection"
    }
  ],
  "iconPacks": [
    {
      "description": "With more icons than you can shake a stick at, FA Classic is the seasoned pro of Font Awesome. Thousands of icons in a timeless, versatile style that work just about anywhere. Classic is like the little black dress of icons.",
      "designerName": "Font Awesome",
      "designerUrl": "https://fontawesome.com",
      "familyStyles": [
        { "family": "classic", "style": "solid", "visualTags": ["filled", "round"] },
        { "family": "classic", "style": "regular", "visualTags": ["line", "round"] },
        { "family": "classic", "style": "light", "visualTags": ["line", "round"] },
        { "family": "classic", "style": "thin", "visualTags": ["line", "round"] }
      ],
      "label": "Classic",
      "labelIconName": "house",
      "labelIconPrefix": "fas",
      "name": "classic",
      "sourceCanvasHeight": 20,
      "sourceGridHeight": 16
    },
    {
      "description": "FA Duotone is double-layered companion to FA Classic, which icon-for-icon matches. These beauties bring contrast, clarity, and a little pizzazz - because when it comes to making an impact, sometimes two tones are better than one!",
      "designerName": "Font Awesome",
      "designerUrl": "https://fontawesome.com",
      "familyStyles": [
        { "family": "duotone", "style": "solid", "visualTags": ["duotone", "filled", "round"] },
        { "family": "duotone", "style": "regular", "visualTags": ["duotone", "line", "round"] },
        { "family": "duotone", "style": "light", "visualTags": ["duotone", "line", "round"] },
        { "family": "duotone", "style": "thin", "visualTags": ["duotone", "line", "round"] }
      ],
      "label": "Duotone",
      "labelIconName": "house",
      "labelIconPrefix": "fad",
      "name": "duotone",
      "sourceCanvasHeight": 20,
      "sourceGridHeight": 16
    },
    {
      "description": "Did you know that the word \"pencil\" comes from the Latin for \"little tail\"? Well now you do, because Icon University is in session with FA Graphite. If you require a hand-drawn, academic, or erasable vibe, Professor Vic Bell is here with a Pack that's sketchy in all the right ways. Enroll your project today!",
      "designerName": "Vic Bell",
      "designerUrl": "https://www.vicbell.co.uk",
      "familyStyles": [{ "family": "graphite", "style": "thin", "visualTags": ["line", "round", "sketch"] }],
      "label": "Graphite",
      "labelIconName": "house",
      "labelIconPrefix": "fagt",
      "name": "graphite",
      "sourceCanvasHeight": 24,
      "sourceGridHeight": 20
    }
  ],
  "visualTags": [
    { "label": "Duotone", "labelIconName": "circle-half", "labelIconPrefix": "fad", "name": "duotone" },
    { "label": "Filled", "labelIconName": "square", "labelIconPrefix": "fas", "name": "filled" },
    { "label": "Line", "labelIconName": "bars", "labelIconPrefix": "fas", "name": "line" },
    { "label": "Round", "labelIconName": "circle", "labelIconPrefix": "fas", "name": "round" },
    { "label": "Sketch", "labelIconName": "scribble", "labelIconPrefix": "fas", "name": "sketch" }
  ]
}
```

## Icons

`GET /releases/:version/icons`

Returns paginated icons for a release. Each icon includes its identifier, label, unicode codepoint (as a hex string), name aliases, unicode aliases, and the familyStyles in which it's available, grouped by license.

#### Query Parameters

| Parameter   | Type      | Description                                                                                                                                                                                                                                                                                                                                                         |
| ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `license`   | `String`  | Optional. The `license` filter accepts `free` or `pro`. **`free`** returns only icons that ship with Font Awesome Free. **`pro`** returns only icons that are exclusive to Font Awesome Pro — it is **not** a superset of Free. `free` and `pro` are intentionally disjoint sets. To retrieve the full superset of icons regardless of license, omit the parameter. |
| `page`      | `Integer` | default: `1`. The page of results to return. Pages start at 1.                                                                                                                                                                                                                                                                                                      |
| `page_size` | `Integer` | default: `100`. max: `500`. Number of icons per page.                                                                                                                                                                                                                                                                                                               |

#### Example Response

A request for `GET /releases/7.2.0/icons?license=pro&page=80&page_size=2` returns:

```json
{
  "icons": [
    {
      "aliases": null,
      "familyStylesByLicense": {
        "free": [],
        "pro": [
          { "family": "classic", "prefix": "fal", "shorthand": "light", "style": "light" },
          { "family": "classic", "prefix": "far", "shorthand": "regular", "style": "regular" },
          { "family": "classic", "prefix": "fas", "shorthand": "solid", "style": "solid" },
          { "family": "classic", "prefix": "fat", "shorthand": "thin", "style": "thin" },
          { "family": "duotone", "prefix": "fad", "shorthand": "duotone", "style": "solid" },
          { "family": "sharp", "prefix": "fass", "shorthand": "sharp-solid", "style": "solid" },
          { "family": "sharp-duotone", "prefix": "fasds", "shorthand": "sharp-duotone-solid", "style": "solid" }
        ]
      },
      "id": "bar-progress-three-quarters",
      "label": "Bar Progress Three Quarters",
      "unicodeHex": "e6a9"
    },
    {
      "aliases": {
        "names": [],
        "unicodes": { "composite": [], "primary": [], "secondary": ["10f464"] }
      },
      "familyStylesByLicense": {
        "free": [],
        "pro": [
          { "family": "classic", "prefix": "fal", "shorthand": "light", "style": "light" },
          { "family": "classic", "prefix": "far", "shorthand": "regular", "style": "regular" },
          { "family": "classic", "prefix": "fas", "shorthand": "solid", "style": "solid" },
          { "family": "classic", "prefix": "fat", "shorthand": "thin", "style": "thin" },
          { "family": "duotone", "prefix": "fad", "shorthand": "duotone", "style": "solid" },
          { "family": "sharp", "prefix": "fass", "shorthand": "sharp-solid", "style": "solid" },
          { "family": "sharp-duotone", "prefix": "fasds", "shorthand": "sharp-duotone-solid", "style": "solid" }
        ]
      },
      "id": "barcode-read",
      "label": "Barcode Read",
      "unicodeHex": "f464"
    }
  ],
  "page": 80,
  "pageSize": 2,
  "totalIconCount": 2348,
  "totalPageCount": 1174
}
```

The per-icon `familyStylesByLicense.pro` arrays in the real response can list 16 or more familyStyles; the example above is trimmed to a handful for readability. The `familyStylesByLicense` object is always returned in full per icon — the `license` query parameter only filters _which icons_ are returned, not which variants are listed per icon.

When `aliases` is non-null, it has the shape `{ "names": ["..."], "unicodes": { "primary": "...", "composite": ["..."], "secondary": ["..."] } }`.

  <h4>
    Heads up on secondary unicode aliases
  </h4>

Icons introduced in Font Awesome 6 or later have no unicode value associated with their secondary layers. So none will appear in the `unicodes.secondary` field for those newer icons. The only way to lookup a secondary layer glyph for one of them is to use a ligature: a sequence of characters that gets substituted for the secondary layer glyph.

More details:

<ul>
    <li><a href="/desktop/add-icons/ligatures.md#duotones-and-ligatures">Using duotone ligatures with our desktop fonts</a></li>
    <li><a href="/apis/graphql/objects.md#aliases">About unicode aliases</a></li>
</ul>

## Icons Minimal

`GET /releases/:version/icons-minimal`

Returns paginated icons for a release with a minimal field selection — just the icon `id` and prefixes for the familyStyles in which it's available, grouped by license. Use this when you need to enumerate icons quickly and don't need labels, unicodes, or full family-style details.

#### Query Parameters

| Parameter   | Type      | Description                                                                                                                                                                                                                                                                                                                                                         |
| ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `license`   | `String`  | Optional. The `license` filter accepts `free` or `pro`. **`free`** returns only icons that ship with Font Awesome Free. **`pro`** returns only icons that are exclusive to Font Awesome Pro — it is **not** a superset of Free. `free` and `pro` are intentionally disjoint sets. To retrieve the full superset of icons regardless of license, omit the parameter. |
| `page`      | `Integer` | default: `1`. The page of results to return. Pages start at 1.                                                                                                                                                                                                                                                                                                      |
| `page_size` | `Integer` | default: `100`. max: `500`. Number of icons per page.                                                                                                                                                                                                                                                                                                               |

#### Example Response

A request for `GET /releases/7.2.0/icons-minimal?page=80&page_size=2` returns:

```json
{
  "icons": [
    {
      "familyStylesByLicense": {
        "free": [],
        "pro": [
          { "prefix": "fal" },
          { "prefix": "far" },
          { "prefix": "fas" },
          { "prefix": "fat" },
          { "prefix": "fad" },
          { "prefix": "fass" },
          { "prefix": "fasds" }
        ]
      },
      "id": "arrow-rotate-right-30"
    },
    {
      "familyStylesByLicense": {
        "free": [{ "prefix": "fas" }],
        "pro": [
          { "prefix": "fal" },
          { "prefix": "far" },
          { "prefix": "fas" },
          { "prefix": "fat" },
          { "prefix": "fad" },
          { "prefix": "fass" },
          { "prefix": "fasds" }
        ]
      },
      "id": "arrow-trend-down"
    }
  ],
  "page": 80,
  "pageSize": 2,
  "totalIconCount": 4318,
  "totalPageCount": 2159
}
```

The per-icon `pro` arrays in the real response can list 16 or more prefixes; the examples above are trimmed for readability.
