Skip to main content
POST
https://searchcompany-main.up.railway.app
/
api
/
cron
/
create-boosted-page
curl -X POST https://searchcompany-main.up.railway.app/api/cron/create-boosted-page \
  -H "Content-Type: application/json" \
  -d '{"business_id": "nike"}'
{
  "status": "success",
  "files": [
    {"path": "pages/top-10-sneaker-brands-2025.js", "content": "..."}
  ],
  "boosted_path": "/top-10-sneaker-brands-2025/",
  "title": "What are the top 10 sneaker brands in 2025?",
  "published_date": "2025-12-24",
  "project_name": "ai-nike",
  "ai_site_url": "https://nike.searchcompany.dev",
  "existing_posts": [
    {"title": "What is Nike?", "boosted_path": "/what-is-nike/"}
  ],
  "faq_category": "business_boosted"
}
Internal endpoint for the Cron service to generate a boosted page’s content and files.
This endpoint does NOT deploy to Vercel. It generates content and files, saves to the database, and returns the files. Call /api/cron/deploy-to-vercel separately to deploy all files at once.
Boosted pages are generated from the AI site content (llms.txt, data.json, HTML), not the original business website.
Products use the business’s AI site - Products don’t have their own AI websites. All boosted pages (business and product) are deployed to the same business AI site.

Request Body

business_id
string
required
Business identifier (org_slug)
product_id
string
Optional product/item ID
backdate_to
string
Optional ISO date string to backdate created_at (e.g. β€œ2025-12-21”)

Response

status
string
β€œsuccess” or β€œerror”
files
array
Array of files to deploy. Each file has path and content.
boosted_path
string
Path to the boosted page (e.g. β€œ/top-10-crm-tools-2025/”)
title
string
Boosted page title (always a question for AI search optimization)
published_date
string
Publication date (ISO format)
project_name
string
Vercel project name for deployment
ai_site_url
string
AI site URL (e.g. β€œhttps://nike.searchcompany.dev”)
existing_posts
array
List of existing boosted pages (for index generation and deduplication)
faq_category
string
FAQ category for homepage integration: "business_boosted" or "product_boosted"
curl -X POST https://searchcompany-main.up.railway.app/api/cron/create-boosted-page \
  -H "Content-Type: application/json" \
  -d '{"business_id": "nike"}'
{
  "status": "success",
  "files": [
    {"path": "pages/top-10-sneaker-brands-2025.js", "content": "..."}
  ],
  "boosted_path": "/top-10-sneaker-brands-2025/",
  "title": "What are the top 10 sneaker brands in 2025?",
  "published_date": "2025-12-24",
  "project_name": "ai-nike",
  "ai_site_url": "https://nike.searchcompany.dev",
  "existing_posts": [
    {"title": "What is Nike?", "boosted_path": "/what-is-nike/"}
  ],
  "faq_category": "business_boosted"
}

Topic Generation

Boosted pages use a sophisticated topic generation system designed to stay fresh even at 1000+ posts:

Template System

49 SEO-optimized question templates with variable placeholders:
  • {industry} - Inferred by Gemini from business content
  • {problem} - Main problem the business solves
  • {city} - 38 major cities worldwide
  • {audience} - 17 target audiences (startups, enterprises, etc.)
  • {year} - Current or next year
  • {list_size} - 3, 5, 7, 10, 15, or 20

Deduplication

The system:
  1. Receives existing boosted page titles from the database
  2. Generates all possible template variations
  3. Filters out any that match existing titles
  4. Picks a random unused combination
This ensures 2,000+ unique titles before any repetition.

Example Titles

  • β€œWhat are the top 10 CRM software solutions in 2025?”
  • β€œWhat is the best project management platform in Singapore in 2025?”
  • β€œHow do startups solve team collaboration challenges?”
  • β€œWhat do experts recommend for sales pipeline management in 2025?”

Workflow

1. create-boosted-page (Γ—N) β†’ Returns files + metadata (parallel, fast)
   └── Each returns: {files, title, boosted_path, published_date, existing_posts}

2. deploy-to-vercel β†’ Deploys all files at once (single deployment)
   └── Receives all files + metadata, generates index/sitemap

3. submit-indexnow β†’ Notifies search engines of new URLs