Skip to main content
All cloro API monitoring endpoints follow a consistent request and response structure.

Request structure

All monitoring endpoints follow a consistent request structure:
{
  "prompt": "Your query here (1-10,000 characters)",
  "country": "US",  // Optional, defaults to "US"
  "include": {      // Optional, varies by endpoint
    "markdown": false
  }
}

Common parameters

All monitoring endpoints share these core parameters:
ParameterTypeRequiredDescription
promptstringYesThe query to send to the AI provider (1-10,000 characters)
countrystringNoISO 3166-1 alpha-2 country code for localized results. Defaults to "US"
includeobjectNoOptional flags for additional response formats

Country codes

The API supports country-specific monitoring. Common examples:
  • US - United States
  • GB - United Kingdom
  • CA - Canada
  • AU - Australia
  • DE - Germany
  • FR - France
  • JP - Japan
  • CN - China
  • IN - India
  • BR - Brazil
For a complete list, see the Countries endpoint.

Response structure

All successful responses follow this base structure:
{
  "success": true,
  "result": {
    "text": "AI response text",
    "sources": [...],
    "html": "<div>Formatted response</div>",
    // Additional fields vary by endpoint
  }
}

Common response fields

FieldTypeDescription
successbooleanAlways true for successful responses
result.textstringThe AI provider’s response text
result.sourcesarrayArray of sources referenced in the response
result.htmlstringResponse formatted in HTML (always included)

Sources array structure

Each source in the sources array follows this format:
{
  "position": 1,
  "url": "https://example.com/article",
  "label": "Example Site",
  "description": "Description of the source content"
}

Optional response formats

Most endpoints support additional response formats through the include parameter:

Markdown format

  • Parameter: include.markdown
  • Type: boolean
  • Default: false
  • Description: Include response formatted in Markdown
  • Cost: Varies by endpoint (usually +0 credits)

Endpoint-specific formats

Different endpoints offer unique formats. See individual endpoint documentation for specific options and features available for each monitoring endpoint. See Pricing for endpoint costs and credit information.

Request examples

curl -X POST "https://api.cloro.dev/v1/monitor/chatgpt" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "What do you know about Acme Corp?",
    "country": "US",
    "include": {
      "markdown": true
    }
  }'
import requests

response = requests.post(
    "https://api.cloro.dev/v1/monitor/chatgpt",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "prompt": "What do you know about Acme Corp?",
        "country": "US",
        "include": {"markdown": True}
    }
)

result = response.json()
print(result['result']['text'])
print(result['result']['sources'])
const response = await fetch("https://api.cloro.dev/v1/monitor/chatgpt", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    prompt: "What do you know about Acme Corp?",
    country: "US",
    include: { markdown: true }
  }),
});

const data = await response.json();
console.log(data.result.text);
console.log(data.result.sources);