# AI Instructions Page + llms.txt Builder (`growth-installations/ai-instructions-page-builder`) Actor

Reads a website's key pages (about, pricing, services, locations, contact, FAQ, policies) and drafts a ready-to-upload AI instructions page (/ai.md + styled /ai HTML) and llms.txt, using only facts found on the site. Bulk sites, link check, install steps.

- **URL**: https://apify.com/growth-installations/ai-instructions-page-builder.md
- **Developed by:** [Growth Installations](https://apify.com/growth-installations) (community)
- **Categories:** SEO tools, AI, Developer tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3,000.00 / 1,000 site drafteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## AI Instructions Page Builder: ai.md + llms.txt Drafts for Any Website

**$3 per website drafted.** Template-only drafts (if the AI step fails) are free and labelled.

AI assistants answer questions about a business from whatever they can find. This Actor reads up to 20 key pages of a site (about, services, pricing, locations, contact, FAQ, reviews, policies) and writes the page the business should publish for AI assistants: a fact-checked `ai.md` (plus an HTML version for `/ai`) and an `llms.txt` index, with install steps.

### What does it do?

1. Finds the site's important pages from the homepage and sitemap, round-robin by page type so every type is covered.
2. Notes whether the site already has `/llms.txt` or an `/ai` page, and which pages are thin or JavaScript-only.
3. Drafts `ai.md` (about, services with URLs, service area and locations, hours and contact, pricing, policies, FAQs, "what we don't do") using only facts found on the site.
4. Drafts `llms.txt` linking the real pages.
5. Checks every link in the drafts against the pages it actually read and lists anything unverified.
6. Writes install steps. Nothing is published to the site.

### Who is it for?

AI SEO / GEO agencies selling "AI visibility setup" packages, web designers adding an AI page to every build, and local-SEO agencies with many small-business clients.

### How much does it cost?

| Event | Price | What you get |
|---|---|---|
| Site drafted | $3.00 | One site read and drafted into ai.md + ai.html + llms.txt with link check and install steps |

The AI writing step uses Apify's OpenRouter proxy (Gemini 2.5 Flash by default), billed as normal usage on your Apify account: about $0.01 per site, with no separate API key. Set a maximum charge per run in the Console to cap spend.

### Input example

```json
{
  "sites": ["gilmanheatingandcooling.com"],
  "maxPages": 12,
  "businessNotes": "Family-owned since 1917. Do not mention financing."
}
```

### Output

One dataset row per site: `domain`, `pagesRead`, `pageKinds`, `hadLlmsTxt`, `hadAiPage`, `draftSource`, `unverifiedLinks`, `thinOrJsPages`, `aiMdChars`, `aiMdPreview`, `llmsTxt`, `installSteps`, `aiMdUrl`, `aiHtmlUrl`, `llmsTxtUrl`.
Key-value store: `<domain>-ai.md`, `<domain>-ai.html`, `<domain>-llms.txt` and `INDEX_MD`.

### Sample output (live run, Nov 3, 2026)

gilmanheatingandcooling.com: 12 pages read (about, contact, faq, home, policies, pricing, services), no existing llms.txt or /ai page, 0 unverified links, AI cost $0.006.

```markdown
## Gilman Heating, Cooling & Plumbing — Information for AI assistants
> Gilman Heating, Cooling & Plumbing provides HVAC and plumbing services to residential customers in the Richmond and Northern Neck areas of Virginia.
_Last updated: 2026-11-03. Source: gilmanheatingandcooling.com_
### About
Gilman Heating, Cooling & Plumbing has been serving the Richmond and Northern Neck areas of Virginia for over 100 years, since 1917. ...
### Products / Services
*   **Heating Services:** ... furnaces, heat pumps, and boilers. https://www.gilmanheatingandcooling.com/services/heating
*   **Geothermal HVAC:** ... https://www.gilmanheatingandcooling.com/services/geothermal
### Locations & service area
*   **Richmond Office:** 11479 Fox Cross Road, Ashland, Virginia 23005
```

### FAQ

**Is it accurate?** It only uses text from the pages it read and flags any link it couldn't verify. Review the draft before publishing.

**Which model?** Gemini 2.5 Flash by default; Claude Sonnet 4.5 is available in the `model` input at the same price.

### Use it from n8n, Make, Claude or Cursor

- MCP: add `https://mcp.apify.com/?actors=growth-installations/ai-instructions-page-builder` to Claude, Cursor or any MCP client.
- n8n or Make: add an HTTP Request step that POSTs your input JSON to the API endpoint below and returns the dataset items.
- API: `POST https://api.apify.com/v2/acts/growth-installations~ai-instructions-page-builder/run-sync-get-dataset-items` with header `Authorization: Bearer <your Apify API token>`

# Actor input Schema

## `sites` (type: `array`):

Domains or URLs, one per line (up to 100). Each site that gets a full AI-written draft is one 'site-draft' charge. Sites that can't be read are not charged.

## `maxPages` (type: `integer`):

Homepage plus the most useful pages found in the navigation and sitemap (about, pricing, services, locations, contact, FAQ, reviews, policies).

## `businessNotes` (type: `string`):

Facts to include that aren't on the website, e.g. 'Founded 1998. Licensed in VA and NC. No weekend surcharge.' Applied to every site in this run, so use it for single-site runs.

## `model` (type: `string`):

Model that writes the drafts. Same price per site either way.

## Actor input object example

```json
{
  "sites": [
    "gilmanheatingandcooling.com"
  ],
  "maxPages": 12,
  "businessNotes": "",
  "model": "google/gemini-2.5-flash"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `index_md` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "sites": [
        "gilmanheatingandcooling.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("growth-installations/ai-instructions-page-builder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "sites": ["gilmanheatingandcooling.com"] }

# Run the Actor and wait for it to finish
run = client.actor("growth-installations/ai-instructions-page-builder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "sites": [
    "gilmanheatingandcooling.com"
  ]
}' |
apify call growth-installations/ai-instructions-page-builder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,growth-installations/ai-instructions-page-builder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/TU9OALYSUIpA4s8Bb/builds/WZxHaZotWUiSfVBmf/openapi.json
