diff --git a/src/content/docs/en/reference/experimental-flags/fonts.mdx b/src/content/docs/en/reference/experimental-flags/fonts.mdx
index 775a31f645480..f7ea7faef594d 100644
--- a/src/content/docs/en/reference/experimental-flags/fonts.mdx
+++ b/src/content/docs/en/reference/experimental-flags/fonts.mdx
@@ -325,6 +325,49 @@ import { Font } from 'astro:assets';
```
+## Accessing font data programmatically
+
+The `getFontData()` function is intended for retrieving lower-level font family data programmatically, for example, in an [API Route](/en/guides/endpoints/#server-endpoints-api-routes) or to generate your own meta tags.
+
+### `getFontData()`
+
+
+**Type:** `(cssVariable: CssVariable) => FontData[]`
+
+
+
+Returns an array of `FontData` objects for the provided [`cssVariable`](#cssvariable-1), which contains `src`, `weight` and `style`.
+
+The following example uses `getFontData()` to get the font buffer from the URL when using [satori](https://github.com/vercel/satori) to generate OpenGraph images:
+
+```tsx title="src/pages/og.png.ts" "getFontData(\"--font-roboto\")" "data[0].src[0].url"
+import type{ APIRoute } from "astro"
+import { getFontData } from "astro:assets"
+import satori from "satori"
+
+export const GET: APIRoute = (context) => {
+ const data = getFontData("--font-roboto")
+
+ const svg = await satori(
+ hello, world
,
+ {
+ width: 600,
+ height: 400,
+ fonts: [
+ {
+ name: "Roboto",
+ data: await fetch(new URL(data[0].src[0].url, context.url.origin)).then(res => res.arrayBuffer()),
+ weight: 400,
+ style: "normal",
+ },
+ ],
+ },
+ )
+
+ // ...
+}
+```
+
## Font configuration reference
All properties of your fonts must be configured in the Astro config. Some properties are common to both remote and local fonts, and other properties are available depending on your chosen font provider.