> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for Cloro: every `cloro.api.*` operation with input and output types.

Every `cloro.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).

## Monitor

### chatgpt

`monitor.chatgpt`

Ask ChatGPT a prompt as a user in a given country and get the structured answer, sources, and shopping cards

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.chatgpt({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `prompt` | `string \| string[]` | Yes | — |
| `country` | `string` | Yes | ISO 3166-1 alpha-2 country code; see utility.countries |
| `state` | `string` | No | US state for state-level targeting (+2 credits); see utility.states |
| `include` | `object` | No | — |
| `legacy` | `boolean` | No | — |
| `disableWebSearch` | `boolean` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   markdown?: boolean,
>   rawResponse?: boolean,
>   searchQueries?: boolean,
>   ads?: boolean,
>   shopping?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object[]` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   text?: string,
>   sources?: {
>     position?: number,
>     url?: string,
>     label?: string,
>     description?: string,
>     footnote?: boolean,
>     datePublished?: string
>   }[],
>   html?: string,
>   markdown?: string,
>   rawResponse?: {
>     type?: string,
>     token?: string,
>     conversation_id?: string,
>     message?: {
>       id?: string,
>       role?: string,
>       model?: string
>     },
>     delta?: {
>       content?: {
>         type?: string,
>         text_delta?: string
>       }[]
>     },
>     reason?: string
>   }[],
>   searchQueries?: string[],
>   mapSearchQueries?: string[],
>   model?: string | null,
>   shoppingCards?: {
>     tags?: string[],
>     products?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       price?: string,
>       featured_tag?: string,
>       merchant?: string,
>       image_urls?: string[],
>       rating?: number,
>       num_reviews?: number,
>       id?: string,
>       offers?: {
>         merchant_name?: string,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         available?: boolean,
>         checkoutable?: boolean,
>         price_details?: {
>           base?: string,
>           total?: string
>         },
>         tag?: {
>           text?: string
>         }
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       }
>     }[]
>   }[],
>   inlineProducts?: {
>     product?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       description?: string,
>       price?: string,
>       featured_tag?: string,
>       rating?: number,
>       num_reviews?: number,
>       image_urls?: string[],
>       id?: string,
>       variants?: any,
>       offers?: {
>         merchant_name?: string,
>         merchant_subtitle?: string | null,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         original_price?: string | null,
>         available?: boolean,
>         checkoutable?: boolean,
>         is_digital?: boolean | null,
>         checkout_payload?: string | null,
>         checkout_image_urls?: string[] | null,
>         shop_id?: string | null,
>         provider?: string,
>         price_details?: {
>           display_price?: string | null,
>           base?: string,
>           shipping?: string | null,
>           tax?: string | null,
>           total?: string
>         },
>         tag?: {
>           text?: string,
>           tooltip?: string
>         } | null
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       },
>       provider?: string,
>       providers?: string[],
>       product_lookup_key?: {
>         data?: string
>       },
>       product_lookup_data?: {
>         request_query?: string,
>         all_ids?: {
>         },
>         metadata_sources?: string[]
>       },
>       showcase_metadata?: {
>         image?: {
>           url: string,
>           width?: number,
>           height?: number
>         },
>         background?: {
>           type?: string,
>           primary?: string,
>           secondary?: string
>         },
>         slots?: {
>         },
>         debug?: {
>         }
>       },
>       show_price_disclosure?: boolean,
>       analytics_meta?: {
>         product_event_uuid?: string
>       },
>       metadata_sources?: string[],
>       product_event_uuid?: string,
>       generatedProductQuery?: string
>     },
>     render_as?: inline | hero | block
>   }[],
>   entities?: {
>     type: string,
>     name: string,
>     product?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       description?: string,
>       price?: string,
>       featured_tag?: string,
>       rating?: number,
>       num_reviews?: number,
>       image_urls?: string[],
>       id?: string,
>       variants?: any,
>       offers?: {
>         merchant_name?: string,
>         merchant_subtitle?: string | null,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         original_price?: string | null,
>         available?: boolean,
>         checkoutable?: boolean,
>         is_digital?: boolean | null,
>         checkout_payload?: string | null,
>         checkout_image_urls?: string[] | null,
>         shop_id?: string | null,
>         provider?: string,
>         price_details?: {
>           display_price?: string | null,
>           base?: string,
>           shipping?: string | null,
>           tax?: string | null,
>           total?: string
>         },
>         tag?: {
>           text?: string,
>           tooltip?: string
>         } | null
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       },
>       provider?: string,
>       providers?: string[],
>       product_lookup_key?: {
>         data?: string
>       },
>       product_lookup_data?: {
>         request_query?: string,
>         all_ids?: {
>         },
>         metadata_sources?: string[]
>       },
>       showcase_metadata?: {
>         image?: {
>           url: string,
>           width?: number,
>           height?: number
>         },
>         background?: {
>           type?: string,
>           primary?: string,
>           secondary?: string
>         },
>         slots?: {
>         },
>         debug?: {
>         }
>       },
>       show_price_disclosure?: boolean,
>       analytics_meta?: {
>         product_event_uuid?: string
>       },
>       metadata_sources?: string[],
>       product_event_uuid?: string,
>       generatedProductQuery?: string
>     }
>   }[],
>   map?: {
>     id?: string,
>     provider?: string,
>     name?: string,
>     position?: number,
>     address?: string,
>     latitude?: number,
>     longitude?: number,
>     categories?: string[],
>     rating?: number,
>     reviewCount?: number,
>     description?: string,
>     phone?: string,
>     websiteUrl?: string
>   }[],
>   citationPills?: {
>     url: string,
>     label: string,
>     description?: string,
>     domain: string,
>     datePublished?: string,
>     citationPillId: number,
>     type: searchResult | groupedWebpage,
>     position: number
>   }[],
>   ads?: {
>     brand: {
>       name: string,
>       url: string,
>       favicon?: string
>     },
>     cards: {
>       title: string,
>       body: string,
>       url: string,
>       image?: string
>     }[],
>     visibility: string,
>     adsResponseIndex: number,
>     rendered: boolean
>   }[],
>   followUpForm?: {
>     questions: {
>       label: string,
>       type: radio | checkbox | select | text | textarea | date,
>       name?: string,
>       placeholder?: string,
>       options: {
>         label: string,
>         value: string | boolean,
>         selected: boolean
>       }[]
>     }[],
>     submitLabel?: string,
>     followUpPrompt?: string
>   } | null
> } | {
>   text?: string,
>   sources?: {
>     position?: number,
>     url?: string,
>     label?: string,
>     description?: string,
>     footnote?: boolean,
>     datePublished?: string
>   }[],
>   html?: string,
>   markdown?: string,
>   rawResponse?: {
>     type?: string,
>     token?: string,
>     conversation_id?: string,
>     message?: {
>       id?: string,
>       role?: string,
>       model?: string
>     },
>     delta?: {
>       content?: {
>         type?: string,
>         text_delta?: string
>       }[]
>     },
>     reason?: string
>   }[],
>   searchQueries?: string[],
>   mapSearchQueries?: string[],
>   model?: string | null,
>   shoppingCards?: {
>     tags?: string[],
>     products?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       price?: string,
>       featured_tag?: string,
>       merchant?: string,
>       image_urls?: string[],
>       rating?: number,
>       num_reviews?: number,
>       id?: string,
>       offers?: {
>         merchant_name?: string,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         available?: boolean,
>         checkoutable?: boolean,
>         price_details?: {
>           base?: string,
>           total?: string
>         },
>         tag?: {
>           text?: string
>         }
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       }
>     }[]
>   }[],
>   inlineProducts?: {
>     product?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       description?: string,
>       price?: string,
>       featured_tag?: string,
>       rating?: number,
>       num_reviews?: number,
>       image_urls?: string[],
>       id?: string,
>       variants?: any,
>       offers?: {
>         merchant_name?: string,
>         merchant_subtitle?: string | null,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         original_price?: string | null,
>         available?: boolean,
>         checkoutable?: boolean,
>         is_digital?: boolean | null,
>         checkout_payload?: string | null,
>         checkout_image_urls?: string[] | null,
>         shop_id?: string | null,
>         provider?: string,
>         price_details?: {
>           display_price?: string | null,
>           base?: string,
>           shipping?: string | null,
>           tax?: string | null,
>           total?: string
>         },
>         tag?: {
>           text?: string,
>           tooltip?: string
>         } | null
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       },
>       provider?: string,
>       providers?: string[],
>       product_lookup_key?: {
>         data?: string
>       },
>       product_lookup_data?: {
>         request_query?: string,
>         all_ids?: {
>         },
>         metadata_sources?: string[]
>       },
>       showcase_metadata?: {
>         image?: {
>           url: string,
>           width?: number,
>           height?: number
>         },
>         background?: {
>           type?: string,
>           primary?: string,
>           secondary?: string
>         },
>         slots?: {
>         },
>         debug?: {
>         }
>       },
>       show_price_disclosure?: boolean,
>       analytics_meta?: {
>         product_event_uuid?: string
>       },
>       metadata_sources?: string[],
>       product_event_uuid?: string,
>       generatedProductQuery?: string
>     },
>     render_as?: inline | hero | block
>   }[],
>   entities?: {
>     type: string,
>     name: string,
>     product?: {
>       title?: string,
>       position?: number,
>       url?: string,
>       description?: string,
>       price?: string,
>       featured_tag?: string,
>       rating?: number,
>       num_reviews?: number,
>       image_urls?: string[],
>       id?: string,
>       variants?: any,
>       offers?: {
>         merchant_name?: string,
>         merchant_subtitle?: string | null,
>         marketplace_seller?: string | null,
>         seller_name?: string,
>         brand?: string | null,
>         product_name?: string,
>         url?: string,
>         price?: string,
>         details?: string,
>         original_price?: string | null,
>         available?: boolean,
>         checkoutable?: boolean,
>         is_digital?: boolean | null,
>         checkout_payload?: string | null,
>         checkout_image_urls?: string[] | null,
>         shop_id?: string | null,
>         provider?: string,
>         price_details?: {
>           display_price?: string | null,
>           base?: string,
>           shipping?: string | null,
>           tax?: string | null,
>           total?: string
>         },
>         tag?: {
>           text?: string,
>           tooltip?: string
>         } | null
>       }[],
>       rating_grouped_citation?: {
>         title?: string,
>         url?: string,
>         supporting_websites?: {
>           title?: string,
>           url?: string
>         }[]
>       },
>       provider?: string,
>       providers?: string[],
>       product_lookup_key?: {
>         data?: string
>       },
>       product_lookup_data?: {
>         request_query?: string,
>         all_ids?: {
>         },
>         metadata_sources?: string[]
>       },
>       showcase_metadata?: {
>         image?: {
>           url: string,
>           width?: number,
>           height?: number
>         },
>         background?: {
>           type?: string,
>           primary?: string,
>           secondary?: string
>         },
>         slots?: {
>         },
>         debug?: {
>         }
>       },
>       show_price_disclosure?: boolean,
>       analytics_meta?: {
>         product_event_uuid?: string
>       },
>       metadata_sources?: string[],
>       product_event_uuid?: string,
>       generatedProductQuery?: string
>     }
>   }[],
>   map?: {
>     id?: string,
>     provider?: string,
>     name?: string,
>     position?: number,
>     address?: string,
>     latitude?: number,
>     longitude?: number,
>     categories?: string[],
>     rating?: number,
>     reviewCount?: number,
>     description?: string,
>     phone?: string,
>     websiteUrl?: string
>   }[],
>   citationPills?: {
>     url: string,
>     label: string,
>     description?: string,
>     domain: string,
>     datePublished?: string,
>     citationPillId: number,
>     type: searchResult | groupedWebpage,
>     position: number
>   }[],
>   ads?: {
>     brand: {
>       name: string,
>       url: string,
>       favicon?: string
>     },
>     cards: {
>       title: string,
>       body: string,
>       url: string,
>       image?: string
>     }[],
>     visibility: string,
>     adsResponseIndex: number,
>     rendered: boolean
>   }[],
>   followUpForm?: {
>     questions: {
>       label: string,
>       type: radio | checkbox | select | text | textarea | date,
>       name?: string,
>       placeholder?: string,
>       options: {
>         label: string,
>         value: string | boolean,
>         selected: boolean
>       }[]
>     }[],
>     submitLabel?: string,
>     followUpPrompt?: string
>   } | null
> }[]
> ```

***

### copilot

`monitor.copilot`

Ask Microsoft Copilot a prompt in a given country and get the structured answer and sources

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.copilot({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `prompt` | `string` | Yes | — |
| `country` | `string` | Yes | ISO 3166-1 alpha-2 country code; see utility.countries |
| `state` | `string` | No | US state for state-level targeting (+2 credits); see utility.states |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   markdown?: boolean,
>   rawResponse?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   text?: string,
>   html?: string,
>   sources?: {
>     position?: number,
>     url?: string,
>     label?: string,
>     description?: string
>   }[],
>   citationPills?: {
>     label: string,
>     citationPillId: number,
>     url: string,
>     domain: string,
>     description?: string,
>     position: number
>   }[],
>   shoppingCards?: {
>     type?: string,
>     layout?: string,
>     products?: {
>       product?: {
>         id?: string,
>         groupId?: string,
>         brandGroupId?: string
>       },
>       position?: number,
>       offerId?: string,
>       url?: string,
>       name?: string,
>       description?: string,
>       images?: {
>         title?: string,
>         url?: string
>       }[],
>       specifications?: {
>         displayName?: string,
>         values?: string[]
>       }[],
>       tags?: string[],
>       price?: {
>         amount?: number,
>         currency?: string,
>         currencySymbol?: string
>       },
>       discountPrice?: {
>         amount?: number,
>         currency?: string,
>         currencySymbol?: string
>       } | null,
>       seller?: string,
>       sellerLogoUrl?: string,
>       brandName?: string,
>       rating?: {
>         value?: number,
>         count?: number,
>         maxRating?: number | null
>       },
>       canTrackPrice?: boolean
>     }[]
>   }[],
>   map?: {
>     name?: string,
>     position?: number,
>     placeId?: string,
>     location?: {
>       address?: string,
>       latitude?: number,
>       longitude?: number
>     },
>     phoneNumber?: string,
>     url?: string,
>     reviews?: {
>       count?: number,
>       rating?: number,
>       providerName?: string,
>       providerIconUrl?: string,
>       url?: string
>     }[],
>     photos?: {
>       url?: string,
>       altText?: string,
>       providerName?: string,
>       providerUrl?: string
>     }[],
>     openState?: string,
>     category?: string,
>     price?: any,
>     layerLabel?: string
>   }[],
>   searchQueries?: string[],
>   markdown?: string,
>   rawResponse?: any[]
> }
> ```

***

### gemini

`monitor.gemini`

Ask Google Gemini a prompt in a given country and get the structured answer and sources

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.gemini({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `prompt` | `string` | Yes | — |
| `country` | `string` | Yes | ISO 3166-1 alpha-2 country code; see utility.countries |
| `state` | `string` | No | US state for state-level targeting (+2 credits); see utility.states |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   markdown?: boolean,
>   rawResponse?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   text?: string,
>   markdown?: string,
>   html?: string,
>   sources?: {
>     position?: number,
>     label?: string,
>     url?: string,
>     description?: string
>   }[],
>   citationPills?: {
>     label: string,
>     citationPillId: number,
>     url: string,
>     domain: string,
>     description?: string,
>     position: number
>   }[],
>   places?: {
>     index: number,
>     title: string,
>     link: string,
>     thumbnail?: string,
>     rating?: number,
>     reviews?: number,
>     type?: string,
>     description?: string,
>     price?: string
>   }[],
>   shoppingCards?: {
>     position: number,
>     title: string,
>     productLink: string,
>     productId: string,
>     price?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     oldPrice?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     store?: string,
>     storeLink?: string,
>     storeCount?: number,
>     shipping?: string,
>     deliveryTime?: string,
>     rating?: number,
>     reviews?: number,
>     brand?: string,
>     description?: string,
>     thumbnail?: string,
>     images?: string[],
>     catalogId?: string,
>     gpcId?: string
>   }[],
>   rawResponse?: any[]
> }
> ```

***

### googleAiMode

`monitor.googleAiMode`

Ask Google AI Mode a prompt and get the structured answer, sources, places, and products

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.googleAiMode({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `gl` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `hl` | `string` | No | — |
| `prompt` | `string` | Yes | — |
| `location` | `string` | No | — |
| `uule` | `string` | No | — |
| `device` | `desktop \| mobile` | No | — |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   markdown?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   text?: string,
>   html?: string,
>   sources?: {
>     position?: number,
>     url?: string,
>     label?: string,
>     description?: string,
>     redirectLink?: string
>   }[],
>   citationPills?: {
>     label: string,
>     citationPillId: number,
>     url: string,
>     domain: string,
>     description?: string,
>     position?: number,
>     redirectLink?: string
>   }[],
>   markdown?: string,
>   places?: {
>     title: string,
>     index: number,
>     thumbnail?: string,
>     rating?: number,
>     reviews?: number,
>     type?: string,
>     address?: string,
>     status?: string,
>     placeId?: string,
>     phone?: string,
>     website?: string,
>     link?: string,
>     priceLevel?: string
>   }[],
>   shoppingCards?: {
>     title?: string,
>     price?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     store?: string,
>     rating?: number,
>     reviews?: string,
>     thumbnail?: string,
>     productLink?: string,
>     productResultToken?: string,
>     productDocid?: string,
>     oldPrice?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     snippet?: string,
>     snippetLinks?: {
>       text?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     position?: number
>   }[],
>   ads?: {
>     title?: string,
>     ads?: {
>       title?: string,
>       url?: string,
>       position?: number,
>       price?: {
>         value?: number,
>         currency?: string,
>         raw?: string
>       },
>       store?: string,
>       rating?: number,
>       reviews?: string,
>       redirectLink?: string
>     }[]
>   },
>   inlineProducts?: {
>     title?: string,
>     position?: number,
>     price?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     oldPrice?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     store?: string,
>     thumbnail?: string,
>     productLink?: string,
>     productResultToken?: string,
>     productDocid?: string
>   }[],
>   videos?: {
>     title: string,
>     link: string,
>     platform?: string,
>     channel?: string,
>     duration?: string,
>     thumbnail?: string,
>     redirectLink?: string
>   }[],
>   map?: {
>     title: string,
>     index: number,
>     thumbnail?: string,
>     rating?: number,
>     reviews?: number,
>     type?: string,
>     address?: string,
>     status?: string,
>     placeId: string,
>     phone?: string,
>     website?: string,
>     link: string,
>     gpsCoordinates: {
>       latitude?: number,
>       longitude?: number
>     }
>   }[]
> }
> ```

***

### googleNews

`monitor.googleNews`

Run a Google News search (1-10 pages) and get articles

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.googleNews({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `gl` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `hl` | `string` | No | — |
| `query` | `string` | Yes | — |
| `device` | `desktop \| mobile \| ios \| android` | No | — |
| `pages` | `number` | No | — |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   newsResults?: {
>     position?: number,
>     title?: string,
>     link?: string,
>     snippet?: string,
>     source?: string,
>     date?: string,
>     page?: number,
>     thumbnail?: string,
>     redirectLink?: string
>   }[],
>   html?: string[]
> }
> ```

***

### googleSearch

`monitor.googleSearch`

Run a Google search (1-10 pages) and get organic results, ads, People Also Ask, and the AI Overview

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.googleSearch({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `gl` | `string` | No | ISO 3166-1 alpha-2 country code; see utility.countries |
| `hl` | `string` | No | — |
| `query` | `string` | No | — |
| `url` | `string` | No | — |
| `location` | `string` | No | — |
| `uule` | `string` | No | — |
| `device` | `desktop \| mobile \| ios \| android` | No | — |
| `pages` | `number` | No | — |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   aioverview?: {
>     markdown?: boolean
>   },
>   paaAioverview?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   organicResults?: {
>     position?: number,
>     title?: string,
>     link?: string,
>     displayedLink?: string,
>     snippet?: string,
>     date?: string,
>     page?: number,
>     sitelinks?: {
>       inline?: {
>         title?: string,
>         link?: string,
>         redirectLink?: string
>       }[]
>     },
>     redirectLink?: string
>   }[],
>   peopleAlsoAsk?: {
>     question?: string,
>     type?: AIOVERVIEW | LINK | UNKNOWN,
>     snippet?: string,
>     title?: string,
>     link?: string,
>     markdown?: string,
>     sources?: {
>       label?: string,
>       url?: string,
>       description?: string,
>       position?: number,
>       redirectLink?: string
>     }[],
>     redirectLink?: string
>   }[],
>   peopleAreSaying?: {
>     position: number,
>     title: string,
>     link: string,
>     date: string,
>     redirectLink?: string
>   }[],
>   localResults?: {
>     position: number,
>     title: string,
>     placeId?: string,
>     rating?: number,
>     reviews?: string,
>     price?: string,
>     type?: string,
>     yearsInBusiness?: string,
>     address?: string,
>     phone?: string,
>     hours?: string,
>     description?: string,
>     links?: {
>       website?: string,
>       directions?: string,
>       redirectLink?: string
>     }
>   }[],
>   localResultsMoreLink?: string,
>   relatedSearches?: {
>     query?: string,
>     link?: string
>   }[],
>   ads?: {
>     position?: number,
>     blockPosition?: top | bottom | middle | rhs,
>     type?: RESULT | SHOPPING_CARD,
>     title?: string,
>     url?: string,
>     page?: number,
>     displayedUrl?: string,
>     domain?: string,
>     description?: string,
>     category?: string,
>     price?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     oldPrice?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     store?: string,
>     imageUrl?: string,
>     sitelinks?: {
>       url?: string,
>       title?: string,
>       description?: string
>     }[]
>   }[],
>   aioverview?: {
>     sources?: {
>       position?: number,
>       url?: string,
>       label?: string,
>       description?: string,
>       redirectLink?: string
>     }[],
>     citationPills?: {
>       label: string,
>       citationPillId: number,
>       url: string,
>       domain: string,
>       description?: string,
>       position: number,
>       redirectLink?: string
>     }[],
>     relatedLinks?: {
>       label: string,
>       citationPillId: number,
>       url: string,
>       domain: string,
>       description?: string,
>       redirectLink?: string
>     }[],
>     text?: string,
>     markdown?: string,
>     videos?: {
>       url?: string,
>       title?: string,
>       thumbnail?: string,
>       source?: string,
>       platform?: string,
>       date?: string,
>       duration?: string,
>       redirectLink?: string
>     }[],
>     places?: {
>       title: string,
>       index: number,
>       thumbnail?: string,
>       rating?: number,
>       reviews?: number,
>       type?: string,
>       address?: string,
>       status?: string,
>       placeId?: string,
>       phone?: string,
>       website?: string,
>       link?: string,
>       priceLevel?: string
>     }[],
>     map?: {
>       title: string,
>       index: number,
>       thumbnail?: string,
>       rating?: number,
>       reviews?: number,
>       type?: string,
>       address?: string,
>       status?: string,
>       placeId: string,
>       phone?: string,
>       website?: string,
>       link: string,
>       gpsCoordinates: {
>         latitude?: number,
>         longitude?: number
>       }
>     }[],
>     ads?: {
>       position: number,
>       title: string,
>       url: string,
>       type: TEXT | SHOPPING,
>       domain?: string,
>       description?: string,
>       price?: {
>         value?: number,
>         currency?: string,
>         raw?: string
>       },
>       old_price?: {
>         value?: number,
>         currency?: string,
>         raw?: string
>       },
>       store?: string,
>       image?: string
>     }[]
>   } | null,
>   shoppingCards?: {
>     title: string,
>     position: number,
>     productResultToken?: string,
>     promoLabel?: string,
>     category?: string,
>     price?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     oldPrice?: {
>       value?: number,
>       currency?: string,
>       raw?: string
>     },
>     store?: string,
>     rating?: number,
>     reviews?: string,
>     thumbnail?: string
>   }[],
>   knowledgeGraph?: {
>     title?: string,
>     type?: string,
>     kgmid?: string,
>     description?: string,
>     imageUrl?: string,
>     website?: string,
>     menu?: string,
>     trailer?: string,
>     source?: {
>       name?: string,
>       link?: string,
>       redirectLink?: string
>     },
>     attributes?: {
>       key?: string,
>       value?: string
>     }[],
>     profiles?: {
>       name?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     peopleAlsoSearchFor?: {
>       name?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     thingsToKnow?: {
>       label?: string,
>       subtitle?: string
>     }[],
>     ratings?: {
>       platform?: string,
>       rating?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     streamingOptions?: {
>       platform?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     webRatings?: {
>       platform?: string,
>       rating?: string,
>       link?: string,
>       votes?: string,
>       redirectLink?: string
>     }[],
>     statsCard?: {
>       context?: string,
>       stats?: {
>         label?: string,
>         value?: string
>       }[]
>     },
>     socialPosts?: {
>       platform?: string,
>       text?: string,
>       link?: string,
>       date?: string,
>       redirectLink?: string
>     }[],
>     notableAlumni?: {
>       name?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     contact?: {
>       label?: string,
>       url?: string,
>       redirectLink?: string
>     }[],
>     weather?: {
>       temperature?: string,
>       condition?: string
>     },
>     rating?: {
>       rating?: string,
>       count?: string
>     },
>     admission?: {
>       provider?: string,
>       price?: string,
>       link?: string,
>       badge?: string,
>       redirectLink?: string
>     }[],
>     artworks?: {
>       title?: string,
>       link?: string,
>       author?: string,
>       redirectLink?: string
>     }[],
>     has3dModel?: boolean,
>     hotelOptions?: {
>       provider?: string,
>       price?: string,
>       link?: string,
>       note?: string,
>       redirectLink?: string
>     }[],
>     trendingProducts?: {
>       title?: string,
>       price?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     merchantVideos?: {
>       title?: string,
>       link?: string,
>       platform?: string,
>       duration?: string,
>       redirectLink?: string
>     }[],
>     listenOn?: {
>       platform?: string,
>       link?: string,
>       redirectLink?: string
>     }[],
>     redirectLink?: string
>   },
>   productResults?: {
>     title: string,
>     stores?: {
>       name: string,
>       link?: string,
>       redirectLink?: string,
>       price?: {
>         value: number,
>         currency: string,
>         raw?: string
>       },
>       installments?: string,
>       description?: string,
>       buyingOptions?: string[],
>       logo?: string,
>       shipping?: string,
>       condition?: string,
>       rating?: number,
>       reviews?: string
>     }[],
>     aboutTheProduct?: {
>       description?: string,
>       features?: string[]
>     },
>     specifications?: {
>     },
>     images?: {
>       mainUrl: string,
>       thumbnailUrl?: string,
>       title?: string
>     }[],
>     rating?: number,
>     reviews?: string,
>     variants?: {
>     }[],
>     userReviews?: {
>     }[],
>     relatedProducts?: {
>     }[],
>     productDocid?: string
>   }[],
>   html?: string[]
> }
> ```

***

### perplexity

`monitor.perplexity`

Ask Perplexity a prompt in a given country and get the structured answer and sources

**Risk:** `write`

```ts theme={null}
await corsair.cloro.api.monitor.perplexity({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `prompt` | `string` | Yes | — |
| `country` | `string` | Yes | ISO 3166-1 alpha-2 country code; see utility.countries |
| `state` | `string` | No | US state for state-level targeting (+2 credits); see utility.states |
| `include` | `object` | No | — |

> **include full type**
>
> ```ts theme={null}
> {
>   html?: boolean,
>   markdown?: boolean,
>   rawResponse?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `true` | Yes | — |
| `result` | `object` | Yes | — |

> **result full type**
>
> ```ts theme={null}
> {
>   text?: string,
>   html?: string,
>   sources?: {
>     position?: number,
>     url?: string,
>     label?: string,
>     description?: string
>   }[],
>   citationPills?: {
>     label: string,
>     citationPillId: number,
>     url: string,
>     domain: string,
>     description?: string,
>     position: number
>   }[],
>   markdown?: string,
>   related_queries?: string[],
>   videos?: {
>     title?: string,
>     url?: string,
>     thumbnail?: string,
>     medium?: string,
>     source?: string,
>     image_width?: number,
>     image_height?: number,
>     thumbnail_width?: number,
>     thumbnail_height?: number
>   }[],
>   images?: {
>     title?: string,
>     url?: string,
>     thumbnail?: string,
>     medium?: string,
>     source?: string,
>     image_width?: number,
>     image_height?: number,
>     thumbnail_width?: number,
>     thumbnail_height?: number
>   }[],
>   hotels?: {
>     name?: string,
>     url?: string,
>     rating?: number,
>     num_reviews?: number,
>     address?: string[],
>     phone?: string,
>     description?: string,
>     image_url?: string,
>     images?: string[],
>     lat?: number,
>     lng?: number,
>     price_level?: string,
>     categories?: string[]
>   }[],
>   places?: {
>     name?: string,
>     url?: string,
>     rating?: number,
>     address?: string[],
>     lat?: number,
>     lng?: number,
>     categories?: string[],
>     map_url?: string,
>     images?: string[]
>   }[],
>   shopping_cards?: {
>     tags?: string[],
>     products?: {
>       title?: string,
>       id?: string,
>       url?: string,
>       price?: string,
>       merchant?: string,
>       available?: boolean,
>       imageUrls?: string[],
>       numReviews?: number,
>       offers?: {
>         url?: string,
>         price?: string,
>         merchant_name?: string,
>         product_name?: string,
>         available?: boolean,
>         price_details?: {
>           display_price?: string
>         },
>         original_price?: string | null
>       }[],
>       position?: number,
>       rating?: number,
>       original_price?: string | null,
>       description?: string,
>       variants?: {
>       }[]
>     }[]
>   }[],
>   search_model_queries?: string[],
>   rawResponse?: any[]
> }
> ```

***

## Utility

### countries

`utility.countries`

List the country codes a monitor engine supports

**Risk:** `read`

```ts theme={null}
await corsair.cloro.api.utility.countries({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `model` | `aimode \| aioverview \| chatgpt \| copilot \| gemini \| google \| perplexity` | No | — |

**Output:** `string[]`

***

### credits

`utility.credits`

Get the remaining cloro credit balance and billing cycle

**Risk:** `read`

```ts theme={null}
await corsair.cloro.api.utility.credits({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `remaining` | `number` | Yes | — |
| `perCycle` | `number` | No | — |
| `cycleResetsAt` | `string` | No | — |

***

### states

`utility.states`

List the US states supported for state-level targeting

**Risk:** `read`

```ts theme={null}
await corsair.cloro.api.utility.states({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | Yes | — |

**Output:** `object[]`

> **Output full type**
>
> ```ts theme={null}
> {
>   code: string,
>   name: string
> }[]
> ```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.