Ad hoc check
Inspect without changing the record
Set dry_run: true. The API returns current engine results and does not add them to monitoring history.
Developer capability
Check if ChatGPT mentions your brand, then inspect the cited sources and competitors in the same response.
Foglift accepts up to 20 prompts per request across ChatGPT, Claude, Perplexity, Gemini, and Google AI Overview. Each result returns mention status, position, sentiment, response text, cited URLs, competitor mentions, and an explicit error field. Authenticated API access starts on Launch at $49/mo.
curl -X POST "https://foglift.io/api/v1/ai-visibility" \
-H "X-API-Key: sk_fog_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"prompts": ["Which tools track AI search visibility?"],
"models": ["chatgpt"],
"dry_run": true
}'Exact contract
Send POST /api/v1/ai-visibility with an X-API-Key header. Use a brand_id when a key can access more than one workspace. Use the response to distinguish an actual absence from a failed provider query or an incorrect brand match.
chatgpt, claude, perplexity, gemini, or ai-overview.true to return live results without writing monitoring history.{
"success": true,
"outcome": "complete",
"code": "scan_complete",
"summary": {
"visibility_pct": 100,
"total_queries": 1,
"successful": 1,
"brand_mentions": 1,
"models_queried": ["chatgpt"],
"prompts_checked": 1,
"dry_run": true
},
"results": [{
"model": "ChatGPT",
"prompt": "Which tools track AI search visibility?",
"brand_mentioned": true,
"position": 3,
"sentiment": "positive",
"citations": ["https://example.com/source"],
"competitor_mentions": ["Competitor A"],
"error": null
}]
}What comes back
A mention boolean alone cannot explain why one answer recommends you and another does not. The endpoint keeps the answer, sources, ordering, framing, competitors, and failure state together.
| Field | Meaning |
|---|---|
| model | Engine display name for this result |
| prompt | Exact prompt that was queried |
| brand_mentioned | Whether the answer named the tracked brand |
| position | Brand's ordered mention position when available |
| sentiment | Positive, neutral, mixed, or negative framing |
| response_text | Answer text, capped at 2,000 characters |
| citations | Source URLs returned with the answer |
| competitor_mentions | Named competitors found in the same answer |
| error | Customer-safe error message, or null on success |
Persistence boundary
Ad hoc check
Set dry_run: true. The API returns current engine results and does not add them to monitoring history.
Saved monitoring
Saved prompts can persist into history. An unmatched custom prompt stays ad hoc unless you explicitly opt in with persist_unmatched_prompts: true.
Pricing and limits
API request limits and model tokens are separate. One HTTP request counts once against the API allowance, while each prompt-engine query debits the workspace's monthly model-token balance.
| Plan | Price | Requests per day | Requests per month | Monitoring cadence |
|---|---|---|---|---|
| Launch | $49/mo | 50 | 1,000 | Up to daily |
| Growth | $129/mo | 200 | 5,000 | Up to twice daily |
| Enterprise | Custom | Custom | Custom | Up to hourly |
Launch defaults to weekly scheduled monitoring and allows daily scheduling. Growth allows up to twice-daily monitoring. Enterprise pricing and allowances are custom. See the complete plan comparison.
Production behavior
202
A persisted scan for this brand is already in flight
400
Prompt, model, or workspace input needs correction
402
The workspace does not have enough model tokens
429
The API or provider-spend limit has been reached
A completed response includes outcome and code. Partial and blocked runs also expose customer-safe errors per result, so a provider failure never has to be interpreted as the brand being absent.
API FAQ
Send a POST request to https://foglift.io/api/v1/ai-visibility with your X-API-Key header, a prompts array, and models set to chatgpt. The response returns brand_mentioned, position, sentiment, response_text, citations, competitor_mentions, and error for that prompt.
Launch, Growth, and Enterprise workspaces can query ChatGPT, Claude, Perplexity, Gemini, and Google AI Overview. Use the model IDs chatgpt, claude, perplexity, gemini, and ai-overview.
One POST request accepts up to 20 custom prompts. If prompts is omitted, the API runs every active saved prompt in the selected workspace. Each prompt-engine pair uses the workspace's model-token balance.
Not by default. Results for saved prompts can enter monitoring history, while unmatched custom prompts stay ad hoc unless persist_unmatched_prompts is explicitly true. Set dry_run to true when no result should be written.
Authenticated developer access starts on Launch at $49 per month. Launch includes 50 API requests per day and 1,000 per month. Growth includes 200 per day and 5,000 per month. Enterprise pricing and API allowances are custom.
Run the exact check
Start with one prompt and one engine. Keep the answer, sources, competitors, and error state in the same API response.