curl -X POST https://searchcompany-main.up.railway.app/webhooks/ai-recommendation-store \
-H "Content-Type: application/json" \
-d '{
"page_url": "https://alphax-inc.searchcompany.dev/",
"page_type": "ai_site",
"page_title": "AlphaX Technologies - AI Profile",
"user_agent": "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)",
"ip_address": "52.167.144.0",
"referrer": "https://chat.openai.com/",
"screen_width": 1920,
"screen_height": 1080,
"language": "en-US",
"timezone": "America/New_York"
}'
{
"status": "success",
"platform_id": "chatgpt",
"platform_name": "ChatGPT",
"message": "AI recommendation from ChatGPT recorded"
}
{
"status": "success",
"platform_id": "unknown",
"platform_name": "Unknown",
"message": "AI recommendation from Unknown recorded"
}
🔵 POST - AI Recommendation Store
Store AI Recommendation
Record an AI recommendation (bot visit) from your optimized site
POST
/
webhooks
/
ai-recommendation-store
curl -X POST https://searchcompany-main.up.railway.app/webhooks/ai-recommendation-store \
-H "Content-Type: application/json" \
-d '{
"page_url": "https://alphax-inc.searchcompany.dev/",
"page_type": "ai_site",
"page_title": "AlphaX Technologies - AI Profile",
"user_agent": "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)",
"ip_address": "52.167.144.0",
"referrer": "https://chat.openai.com/",
"screen_width": 1920,
"screen_height": 1080,
"language": "en-US",
"timezone": "America/New_York"
}'
{
"status": "success",
"platform_id": "chatgpt",
"platform_name": "ChatGPT",
"message": "AI recommendation from ChatGPT recorded"
}
{
"status": "success",
"platform_id": "unknown",
"platform_name": "Unknown",
"message": "AI recommendation from Unknown recorded"
}
Public webhook endpoint for storing AI recommendations from tracking scripts embedded in AI-optimized sites.
1 AI recommendation = 1 AI bot visiting your site
When GPTBot, ClaudeBot, or any other AI crawler visits your AI site, that counts as one AI recommendation.
No authentication required - this is a public webhook similar to the Stripe webhook.
How It Works
- AI-optimized sites include a dynamic tracking script loaded from
/tracking.js - The script detects AI bots via user-agent patterns
- When an AI bot is detected, the script sends the visit to this endpoint
- We record it as an AI recommendation in the
ai_recommendationstable
Supported AI Platforms
| Platform | Detection Patterns |
|---|---|
| ChatGPT | gptbot, chatgpt-user, oai-searchbot |
| Claude | claudebot, claude-web, anthropic |
| Gemini | google-extended, gemini |
| Perplexity | perplexitybot |
| Copilot | bingbot, bingpreview, copilot |
| DeepSeek | deepseekbot |
| Grok | xai-bot, grok |
| Google AI | googlebot, googleother |
Request Body
string
required
Full URL of the page visited (entity is looked up from the domain
automatically)
string
default:"ai_site"
Type of page:
ai_site or boosted_pagestring
Title of the page
string
required
User-Agent header from the request
string
IP address of the visitor
string
Referrer URL if available
integer
Screen width in pixels
integer
Screen height in pixels
string
Browser language (e.g.,
en-US)string
Browser timezone (e.g.,
America/New_York)What Gets Stored
The backend automatically adds:- created_at: Timestamp when the recommendation was recorded (UTC)
- entity_id: Looked up from the page_url domain
- ai_site_id: The AI site associated with the entity
- platform_id: Detected from user_agent (or
unknownif not recognized) - platform_name: Human-readable platform name
Response
string
"success", "ignored", or "error"string
ID of the detected AI platform (e.g.,
chatgpt, claude)string
Display name of the AI platform (e.g.,
ChatGPT, Claude)string
Human-readable status message
curl -X POST https://searchcompany-main.up.railway.app/webhooks/ai-recommendation-store \
-H "Content-Type: application/json" \
-d '{
"page_url": "https://alphax-inc.searchcompany.dev/",
"page_type": "ai_site",
"page_title": "AlphaX Technologies - AI Profile",
"user_agent": "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)",
"ip_address": "52.167.144.0",
"referrer": "https://chat.openai.com/",
"screen_width": 1920,
"screen_height": 1080,
"language": "en-US",
"timezone": "America/New_York"
}'
{
"status": "success",
"platform_id": "chatgpt",
"platform_name": "ChatGPT",
"message": "AI recommendation from ChatGPT recorded"
}
{
"status": "success",
"platform_id": "unknown",
"platform_name": "Unknown",
"message": "AI recommendation from Unknown recorded"
}