---
title: "Preview llms.txt"
method: GET
path: "/api/apps/{app_id}/seo/preview/llms-txt"
---

# Preview llms.txt

`GET /api/apps/{app_id}/seo/preview/llms-txt`

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the `llms.txt` Base44 generates for the app, so you can see it before publishing it.

`llms.txt` is a plain-text summary of the app for AI crawlers. This endpoint generates it fresh from the app's current name, description and pages every time you call it, so the content tracks the app rather than anything saved.

Nothing here publishes it, and setting `llms_txt_enabled` on the app's SEO settings is not enough on its own. Two things decide what `/llms.txt` answers, in this order.

First, the app has to be published and search-eligible. Base44 counts an app as search-eligible when it's public. A private or workspace app never is, and an app that requires a login qualifies only where Base44 has turned search indexing on for it. Fail either and the path 404s whatever your settings say. Search-eligibility is also what decides whether a scan reports on `llms.txt` at all, so a scan of a private app leaves that check out while a scan of an unpublished public one still reports it, even though the path 404s for now.

Past that, `llms_txt_enabled` and `seo_disabled` only choose *which* file the app serves. With the toggle off, or SEO disabled, Base44 falls back to an `llms.txt` you deployed with the app yourself and 404s only when there isn't one, so neither setting removes a file of your own.

This endpoint is limited to 30 requests per minute per app, and that budget is shared with the app's other SEO endpoints.

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

## Path parameters

- `app_id` string, required — ID of the app.

## Response `200`

The generated `llms.txt`.

- LlmsTxtPreviewResponse — The preview, wrapped in the field the endpoint returns it under.
  - `result` LlmsTxtPreview, required — The llms.txt Base44 would publish for this app.
    - `content` string, required — The full file, ready to serve. Base44 generates it from the app's name, description and discovered routes, so it changes as the app does.

## Other responses

- `401` — Missing or invalid credentials.
- `403` — You don't have access to this app, or you used a workspace API key. These endpoints accept a user's credentials only.
- `404` — App not found.
- `429` — Rate limit exceeded (30 requests per minute).

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/base44/base44-app-management-api/revisions/173e4e9c63c2/schema)
