{"id":274288,"date":"2026-07-06T10:39:13","date_gmt":"2026-07-06T10:39:13","guid":{"rendered":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/?post_type=api&#038;p=274288"},"modified":"2026-07-16T05:18:38","modified_gmt":"2026-07-16T05:18:38","slug":"getting-started","status":"publish","type":"api","link":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/","title":{"rendered":"Getting started"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Welcome to the SE Visible API. SE Visible tracks how brands appear across AI engines (ChatGPT, Google Gemini, Perplexity, Google AI Mode, and Google AI Overview). With the API you create projects, manage the brands, topics, and prompts you track, and pull back visibility metrics, prompt results, and the sources that AI engines cite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers authentication, the base URL, the resource model, how to make requests, pagination, filtering, and error handling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"base-url\">Base URL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All endpoints are served from a single base URL:<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"authentication\">Authentication<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every request must be authenticated with your SE Ranking API key. Authentication is identical to the Data API and Project API: you can send the key in an <code>Authorization<\/code> header or as an <code>apikey<\/code> query parameter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generate a key from the <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/online.seranking.com\/admin.api.dashboard.html\" target=\"_blank\" rel=\"noreferrer noopener\">API Dashboard<\/a> in your SE Ranking or SE Visible account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Method 1: Authorization header (recommended)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Send the key in an <code>Authorization<\/code> header with the value <code>Token YOUR_API_KEY<\/code>.<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;curl -X GET &#039;https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/subscription&#039; \\&lt;br \/&gt;\n  -H &#039;Authorization: Token YOUR_API_KEY&#039;&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>curl -X GET 'https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/subscription' \\<br \/>\n  -H 'Authorization: Token YOUR_API_KEY'<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Method 2: Query parameter<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pass the key as an <code>apikey<\/code> query parameter.<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;curl -X GET &#039;https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/subscription?apikey=YOUR_API_KEY&#039;&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>curl -X GET 'https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/subscription?apikey=YOUR_API_KEY'<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <code>apikey<\/code> parameter must always be sent as a GET parameter, even when other data is sent in the request body.<\/li>\n\n\n\n<li>Any data in the request body should be in JSON format, with the <code>Content-Type: application\/json<\/code> header.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"resource-model\">Resource model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SE Visible is organised around projects. Each project tracks one primary brand with a domain, country and language, across a set of AI models. Everything else hangs off the project:<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;Project (UUID)&lt;br \/&gt;\n\u251c\u2500\u2500 Brands          primary brand + competitors, each with aliases&lt;br \/&gt;\n\u251c\u2500\u2500 Topics          groupings of prompts (one default topic per project)&lt;br \/&gt;\n\u2502   \u2514\u2500\u2500 Prompts     the questions sent to AI models&lt;br \/&gt;\n\u2502       \u2514\u2500\u2500 Results one result per model run, with text, URLs, brands, sentiment&lt;br \/&gt;\n\u2514\u2500\u2500 Sources         domains and URLs the AI models cite across the project&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>Project (UUID)<br \/>\n\u251c\u2500\u2500 Brands          primary brand + competitors, each with aliases<br \/>\n\u251c\u2500\u2500 Topics          groupings of prompts (one default topic per project)<br \/>\n\u2502   \u2514\u2500\u2500 Prompts     the questions sent to AI models<br \/>\n\u2502       \u2514\u2500\u2500 Results one result per model run, with text, URLs, brands, sentiment<br \/>\n\u2514\u2500\u2500 Sources         domains and URLs the AI models cite across the project<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Projects<\/strong> are identified by a UUID (for example <code>550e8400-e29b-41d4-a716-446655440000<\/code>).<\/li>\n\n\n\n<li><strong>Brands, topics, prompts, and results<\/strong> are identified by integer IDs, scoped to their project.<\/li>\n\n\n\n<li>A new project is processed asynchronously. Poll <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/projects\/#get-project-details\" target=\"_blank\" rel=\"noreferrer noopener\">Get project details<\/a> and read <code>check.processed_percent<\/code> and <code>project.status<\/code> (<code>queued<\/code>, <code>processing<\/code>, <code>success<\/code>, <code>error<\/code>) to track progress.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"making-requests\">Making requests<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GET<\/strong> and <strong>DELETE<\/strong> requests take parameters in the query string (Note: DELETE requests for prompts require JSON body <code>prompt_ids)<\/code>. Resource IDs are part of the path (for example <code>\/projects\/{project_id}\/brands<\/code>).<\/li>\n\n\n\n<li><strong>POST<\/strong>, <strong>PUT<\/strong>, and <strong>PATCH<\/strong> requests send their payload as a JSON body and require the <code>Content-Type: application\/json<\/code> header. Resource IDs stay in the path.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example POST request<\/strong><\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;curl -X POST &#039;https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/projects&#039; \\&lt;br \/&gt;\n  -H &#039;Authorization: Token YOUR_API_KEY&#039; \\&lt;br \/&gt;\n  -H &#039;Content-Type: application\/json&#039; \\&lt;br \/&gt;\n  -d &#039;{&lt;br \/&gt;\n    &quot;domain&quot;: &quot;https:\/\/2.zoppoz.workers.dev:443\/https\/lavazza.com&quot;,&lt;br \/&gt;\n    &quot;country_code&quot;: &quot;US&quot;,&lt;br \/&gt;\n    &quot;lang_code&quot;: &quot;en&quot;,&lt;br \/&gt;\n    &quot;brand_names&quot;: [&quot;Lavazza&quot;],&lt;br \/&gt;\n    &quot;topics&quot;: [&quot;Ground Coffee&quot;, &quot;Espresso Machines&quot;]&lt;br \/&gt;\n  }&#039;&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>curl -X POST 'https:\/\/2.zoppoz.workers.dev:443\/https\/api.seranking.com\/v1\/se-visible\/projects' \\<br \/>\n  -H 'Authorization: Token YOUR_API_KEY' \\<br \/>\n  -H 'Content-Type: application\/json' \\<br \/>\n  -d '{<br \/>\n    \"domain\": \"https:\/\/2.zoppoz.workers.dev:443\/https\/lavazza.com\",<br \/>\n    \"country_code\": \"US\",<br \/>\n    \"lang_code\": \"en\",<br \/>\n    \"brand_names\": [\"Lavazza\"],<br \/>\n    \"topics\": [\"Ground Coffee\", \"Espresso Machines\"]<br \/>\n  }'<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pagination\">Pagination<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">List endpoints accept <code>limit<\/code> and <code>offset<\/code> and return a <code>total<\/code> count alongside the <code>items<\/code> array.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Parameter<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>limit<\/strong><\/td><td>Integer<\/td><td><code>1000<\/code><\/td><td>Maximum number of items to return. Some endpoints cap this lower; see each endpoint.<\/td><\/tr><tr><td><strong>offset<\/strong><\/td><td>Integer<\/td><td><code>0<\/code><\/td><td>Number of items to skip from the start of the list.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To page through results, increase <code>offset<\/code> by <code>limit<\/code> until <code>offset<\/code> reaches <code>total<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"filtering-and-array-parameters\">Filtering and array parameters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many list endpoints share a common set of filters: <code>model_types<\/code>, <code>country_codes<\/code>, <code>topic_ids<\/code>, <code>sentiments<\/code>, <code>tracked_brand_ids<\/code>, <code>prompt_ids<\/code>, and <code>search_query<\/code>. See the <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/reference\/\" target=\"_blank\" rel=\"noreferrer noopener\">Reference<\/a> for every accepted value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Array filters repeat the parameter key, one entry per value:<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;?model_types=chatgpt&amp;model_types=perplexity&amp;topic_ids=10&amp;topic_ids=12&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>?model_types=chatgpt&model_types=perplexity&topic_ids=10&topic_ids=12<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The brand metrics endpoint uses the bracketed array form for <code>dimensions[]<\/code> and <code>metrics[]<\/code>:<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;?dimensions[]=topic_id&amp;dimensions[]=brand_id&amp;metrics[]=visibility_score&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>?dimensions[]=topic_id&dimensions[]=brand_id&metrics[]=visibility_score<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"date-ranges-and-compare-mode\">Date ranges and compare mode<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Metrics, prompt results, and sources are filtered by a required <code>date_range<\/code>. It is a deep object with a base period at index <code>0<\/code> and an optional compare period at index <code>1<\/code>:<\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;# Base period only&lt;br \/&gt;\n?date_range[0][from]=2026-05-01&amp;date_range[0][to]=2026-05-31&lt;br \/&gt;\n# Base period vs compare period (compare mode)&lt;br \/&gt;\n?date_range[0][from]=2026-05-01&amp;date_range[0][to]=2026-05-31&amp;date_range[1][from]=2026-04-01&amp;date_range[1][to]=2026-04-30&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code># Base period only<br \/>\n?date_range[0][from]=2026-05-01&date_range[0][to]=2026-05-31<br \/>\n# Base period vs compare period (compare mode)<br \/>\n?date_range[0][from]=2026-05-01&date_range[0][to]=2026-05-31&date_range[1][from]=2026-04-01&date_range[1][to]=2026-04-30<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">When a compare period is supplied, supported metrics return both period values and a <code>delta<\/code> (<code>absolute<\/code> and <code>percentage<\/code>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"usage-and-limits\">Usage and limits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SE Visible usage is governed by your plan limits, not by per-request credits. Call <a href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/subscription\/\" target=\"_blank\" rel=\"noreferrer noopener\">Get subscription<\/a> to read your plan and the <code>max<\/code>, <code>used<\/code>, and <code>available<\/code> counts for projects, prompts, and user seats.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"errors\">Errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The API uses standard HTTP status codes. Only <code>2xx<\/code> responses indicate success. Error bodies are JSON.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Status<\/th><th>Meaning<\/th><th>Body<\/th><\/tr><\/thead><tbody><tr><td><strong>400<\/strong><\/td><td>Bad request<\/td><td><code>{ \"message\": \"...\" }<\/code><\/td><\/tr><tr><td><strong>401<\/strong><\/td><td>Unauthenticated (missing or invalid key)<\/td><td><code>{ \"message\": \"Unauthenticated.\", \"error_code\": \"unauthenticated\" }<\/code><\/td><\/tr><tr><td><strong>403<\/strong><\/td><td>Forbidden (key valid, action not allowed)<\/td><td><code>{ \"message\": \"This action is unauthorized.\", \"error_code\": \"this_action_is_unauthorized\" }<\/code><\/td><\/tr><tr><td><strong>404<\/strong><\/td><td>Resource not found<\/td><td><code>{ \"message\": \"...\" }<\/code><\/td><\/tr><tr><td><strong>422<\/strong><\/td><td>Validation error<\/td><td><code>{ \"message\": \"...\", \"errors\": { \"field\": [\"...\"] } }<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Validation error example<\/strong><\/p>\n\n\n<div class=\"se-code-block\" data-tooltip=\"&lt;pre&gt;&lt;code&gt;{&lt;br \/&gt;\n  &quot;message&quot;: &quot;The given data was invalid.&quot;,&lt;br \/&gt;\n  &quot;errors&quot;: {&lt;br \/&gt;\n    &quot;domain&quot;: [&quot;The domain field is required.&quot;]&lt;br \/&gt;\n  }&lt;br \/&gt;\n}&lt;\/code&gt;&lt;\/pre&gt;\"><div class=\"se-code-block-inner\"><div class=\"se-code-block-bar\"><div class=\"se-code-block__copy-btn se-btn_text se-btn se-btn_tert\"><div class=\"se-btn__icon-container\"><i class=\"se-btn__icon-fill copy\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M7.91602 14.1668C7.57227 14.1668 7.27799 14.0444 7.0332 13.7996C6.78841 13.5548 6.66602 13.2606 6.66602 12.9168V4.5835C6.66602 4.23975 6.78841 3.94548 7.0332 3.70068C7.27799 3.45589 7.57227 3.3335 7.91602 3.3335H14.5827C14.9264 3.3335 15.2207 3.45589 15.4655 3.70068C15.7103 3.94548 15.8327 4.23975 15.8327 4.5835V12.9168C15.8327 13.2606 15.7103 13.5548 15.4655 13.7996C15.2207 14.0444 14.9264 14.1668 14.5827 14.1668H7.91602ZM7.91602 12.9168H14.5827V4.5835H7.91602V12.9168ZM5.41602 16.6668C5.07227 16.6668 4.77799 16.5444 4.5332 16.2996C4.28841 16.0548 4.16602 15.7606 4.16602 15.4168V5.8335H5.41602V15.4168H13.3327V16.6668H5.41602Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><i class=\"se-btn__icon-fill check\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"https:\/\/2.zoppoz.workers.dev:443\/http\/www.w3.org\/2000\/svg\">\n<path d=\"M8.10417 14.4375L4.0625 10.4167L5.125 9.33333L8.10417 12.3125L14.875 5.5625L15.9375 6.625L8.10417 14.4375Z\" fill=\"#101423\"\/>\n<\/svg>\n<\/i><\/div>Copy<\/div><\/div><div class=\"se-code-block__content\"><pre><code>{<br \/>\n  \"message\": \"The given data was invalid.\",<br \/>\n  \"errors\": {<br \/>\n    \"domain\": [\"The domain field is required.\"]<br \/>\n  }<br \/>\n}<\/code><\/pre><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"support\">Support<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Questions or issues? Email us at <a href=\"mailto:api@seranking.com\" target=\"_blank\" rel=\"noreferrer noopener\">api@seranking.com<\/a>.<\/p>\n","protected":false},"author":478,"parent":274285,"menu_order":0,"template":"post-templates\/single-api.php","class_list":["post-274288","api","type-api","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/2.zoppoz.workers.dev:443\/https\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Getting started - SE Ranking API Documentation<\/title>\n<meta name=\"description\" content=\"Explore the Getting started API documentation from SE Ranking. Learn about request methods, parameters, and integration use cases.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting started - SE Ranking API Documentation\" \/>\n<meta property=\"og:description\" content=\"Explore the Getting started API documentation from SE Ranking. Learn about request methods, parameters, and integration use cases.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/\" \/>\n<meta property=\"og:site_name\" content=\"SE Ranking\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/2.zoppoz.workers.dev:443\/https\/www.facebook.com\/serankingcom\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-16T05:18:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-content\/uploads\/sites\/9\/2024\/09\/1200\u0445675.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@SERanking\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Getting started - SE Ranking API Documentation","description":"Explore the Getting started API documentation from SE Ranking. Learn about request methods, parameters, and integration use cases.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/","og_locale":"en_US","og_type":"article","og_title":"Getting started - SE Ranking API Documentation","og_description":"Explore the Getting started API documentation from SE Ranking. Learn about request methods, parameters, and integration use cases.","og_url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/","og_site_name":"SE Ranking","article_publisher":"https:\/\/2.zoppoz.workers.dev:443\/https\/www.facebook.com\/serankingcom\/","article_modified_time":"2026-07-16T05:18:38+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-content\/uploads\/sites\/9\/2024\/09\/1200\u0445675.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@SERanking","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/2.zoppoz.workers.dev:443\/https\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/","name":"Getting started - SE Ranking API Documentation","isPartOf":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#website"},"datePublished":"2026-07-06T10:39:13+00:00","dateModified":"2026-07-16T05:18:38+00:00","description":"Explore the Getting started API documentation from SE Ranking. Learn about request methods, parameters, and integration use cases.","breadcrumb":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/getting-started\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"SE Visible","item":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/api\/se-visible\/"},{"@type":"ListItem","position":2,"name":"Getting started"}]},{"@type":"WebSite","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#website","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/","name":"SE Ranking","description":"SE Ranking","publisher":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#organization","name":"SE Ranking","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#\/schema\/logo\/image\/","url":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-content\/uploads\/sites\/9\/2025\/06\/SERanking-logo-media.svg","contentUrl":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-content\/uploads\/sites\/9\/2025\/06\/SERanking-logo-media.svg","width":1,"height":1,"caption":"SE Ranking"},"image":{"@id":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/2.zoppoz.workers.dev:443\/https\/www.facebook.com\/serankingcom\/","https:\/\/2.zoppoz.workers.dev:443\/https\/x.com\/SERanking"]}]}},"_links":{"self":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/api\/274288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/api"}],"about":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/types\/api"}],"author":[{"embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/users\/478"}],"up":[{"embeddable":true,"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/api\/274285"}],"wp:attachment":[{"href":"https:\/\/2.zoppoz.workers.dev:443\/https\/seranking.com\/wp-json\/wp\/v2\/media?parent=274288"}],"curies":[{"name":"wp","href":"https:\/\/2.zoppoz.workers.dev:443\/https\/api.w.org\/{rel}","templated":true}]}}