---
title: "Your files, downloads and the API"
description: "Check which files exist, download them, or read them from your own systems with the Geordy API."
section: "Manage"
canonical: "https://geordy.ai/docs/files-and-api"
---
# Your files, downloads and the API

Check which files exist, download them, or read them from your own systems with the Geordy API.

Every file Geordy generates is published at a public address, can be downloaded from the dashboard, and can be listed from your own systems with the Geordy API: GET https://geordy.ai/api/v1/files, on the Growth and Business plans, with a key from Setup > API keys. To check that a file exists before you link to it, open its address: it loads if it exists, and returns 404 if it has not been generated for that page yet.

## Which pages have files

Geordy generates files for the pages it manages for your site: the pages listed under Pages in your dashboard. Your homepage is added when you create the project. Add more from Pages with Add pages, either one URL at a time or by importing your sitemap.

> Do not assume every page on your site has files. Link only to files you have checked exist, using either of the methods below.

## Check whether a file exists

The simplest check is to open the file's address. If it loads, the file exists. If it returns 404, it has not been generated for that page yet.

**File addresses**
```text
https://files.geordy.ai/yourdomain.com/index.md          your homepage
https://files.geordy.ai/yourdomain.com/about.md          /about
https://files.geordy.ai/yourdomain.com/docs/setup.md     /docs/setup
https://files.geordy.ai/yourdomain.com/llms.txt          one per site
https://files.geordy.ai/yourdomain.com/humans.txt        one per site
```

Page files take the page's path with slashes kept, and the homepage is index. llms.txt and humans.txt describe the whole site, so there is one of each and it carries no page name. If you have connected your own subdomain, the same files are also at its root, for example ai.yourdomain.com/about.md.

## Download files from the dashboard

Open a page from Pages to see its files. Each file has Copy and Download buttons, and Download saves it with its proper file name.

## The Geordy API

The API lets your own systems list the pages Geordy manages for a domain and see exactly which files are being served for each one. It is read-only and available on the Growth and Business plans.

### Create a key

Go to Setup and open API keys. Keys start with gky_live_. The full key is shown once, when you create it, so store it somewhere safe. You can hold more than one key, which lets you rotate a key without downtime, and you can revoke a key at any time.

### List the pages for a domain

**Request**
```bash
curl -H "Authorization: Bearer gky_live_..." \
  "https://geordy.ai/api/v1/files?domain=yourdomain.com"
```

**Response**
```json
{
  "domain": "yourdomain.com",
  "pages": [
    { "path": "/", "formats": 6, "lastScan": "2026-09-30T08:12:00Z", "tagVerified": true },
    { "path": "/about", "formats": 6, "lastScan": "2026-09-28T14:03:00Z", "tagVerified": false }
  ],
  "total": 2
}
```

### See which files exist for one page

Add a path to get the files that are actually being served for that page. Only files that exist are returned, so this is the reliable way to avoid linking to a file that is not there.

**Request**
```bash
curl -H "Authorization: Bearer gky_live_..." \
  "https://geordy.ai/api/v1/files?domain=yourdomain.com&path=/about"
```

**Response**
```json
{
  "domain": "yourdomain.com",
  "path": "/about",
  "files": [
    { "ext": "md", "url": "https://files.geordy.ai/yourdomain.com/about.md", "bytes": 4210 },
    { "ext": "schema.json", "url": "https://files.geordy.ai/yourdomain.com/about.schema.json", "bytes": 1188 }
  ]
}
```

The response gives each file's address and size, not its contents. The addresses are public, so fetch the contents from them directly.

### Limits and errors

- 60 requests per minute per key. Past that you get 429 until the minute rolls over.
- Send the key in the Authorization header. A key in the URL is never read, so the request is refused as unauthenticated.
- A key only reads domains on its own account. Asking for another domain is refused.
- If your plan changes to one without API access, existing keys stop working until you are back on Growth or Business.
---

Source: https://geordy.ai/docs/files-and-api
This is a machine-readable markdown version of that page, generated by Geordy.