---
title: "Gemini LLM Scraper Locations List"
url: "https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_scraper/locations/"
date: "2026-06-06"
---

## Gemini LLM Scraper Locations List

 

 

      

Pricing

 Your account will not be charged for using this API

 

  ![checked](https://docs.dataforseo.com/v3/wp-content/themes/dataforseo/assets/img/icons/checked-circle.svg) GET  https://api.dataforseo.com/v3/ai\_optimization/gemini/llm\_scraper/locations     

   
 You will receive the list of locations by this API call. You can filter the list of locations by country when setting a task.

### **Note:** All locations in Russia and Belarus are no longer supported across all DataForSEO services due to the invasion of Ukraine.

As a response of the API server, you will receive [JSON](https://en.wikipedia.org/wiki/JSON)-encoded data containing a `tasks` array with the information specific to the set tasks.

| Field name | Type | Description |
|---|---|---|
| `version` | string | *the current version of the API* |
| `status_code` | integer | *general status code*   you can find the full list of the response codes [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `status_message` | string | *general informational message*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *total tasks cost, USD* |
| `tasks_count` | integer | *the number of tasks in the **`tasks`** array* |
| `tasks_error` | integer | *the number of tasks in the **`tasks`** array returned with an error* |
| **`tasks`** | array | *array of tasks* |
| `id` | string | *task identifier*   **unique task identifier in our system in the [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format** |
| `status_code` | integer | *status code of the task*   generated by DataForSEO; can be within the following range: 10000-60000   you can find the full list of the response codes [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `status_message` | string | *informational message of the task*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *cost of the task, USD* |
| `result_count` | integer | *number of elements in the `result` array* |
| `path` | array | *URL path* |
| `data` | object | *contains the parameters passed in the URL of the GET request* |
| **`result`** | array | *array of results* |
| `location_code` | integer | *location code* |
| `location_name` | string | *full name of the location* |
| `location_code_parent` | integer | *the code of the superordinate location*   example:   `"location_code": 9041134,"location_name": "Vienna International Airport,Lower Austria,Austria","location_code_parent": 20044`  where `location_code_parent` corresponds to:  `"location_code": 20044,"location_name": "Lower Austria,Austria"` |
| `country_iso_code` | string | *ISO country code of the location* |
| `location_type` | string | *location type* |









 

 









> Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

```
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
curl --location --request GET "https://api.dataforseo.com/v3/ai_optimization/gemini/llm_scraper/locations" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json"
```





```php
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
try {
	// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
	$client = new RestClient($api_url, null, 'login', 'password');
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
	exit();
}
try {
	// using this method you can get a list of locations
	// GET /v3/ai_optimization/gemini/llm_scraper
	// in addition to 'gemini' you can also set other large language models
	// the full list of possible parameters is available in documentation
	$result = $client->get('/v3/ai_optimization/gemini/llm_scraper');
	print_r($result);
	// do something with result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
```





```js
const axios = require('axios');

axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/ai_optimization/gemini/llm_scraper/locations',
    auth: {
        username: 'login',
        password: 'password'
    },
    data: [{
        country: "us"
    }],
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'][0]['result'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
```





```python
from random import Random
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip

client = RestClient("login", "password")
# using this method you can get a list of locations
# GET /v3/ai_optimization/gemini/llm_scraper/
# in addition to 'gemini' you can also set other large language models
# the full list of possible parameters is available in documentation
response = client.get("/v3/ai_optimization/gemini/llm_scraper")
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
    print(response)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
```





```csharp
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task ai_optimization_locations()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            // using this method you can get a list of locations
            // GET /v3/ai_optimization/gemini/llm_scraper
            // in addition to 'gemini' you can also set other large language models
            // the full list of possible parameters is available in documentation
            var response = await httpClient.GetAsync("/v3/ai_optimization/gemini/llm_scraper");
            var result = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (result.status_code == 20000)
            {
                // do something with result
                Console.WriteLine(result);
            }
            else
                Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
        }
    }
}
```





> The above command returns JSON structured like this:

```
{
  "version": "0.1.20260223",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.0690 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "03021721-1535-0632-0000-d25e5770aa80",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0074 sec.",
      "cost": 0,
      "result_count": 213,
      "path": [
        "v3",
        "ai_optimization",
        "gemini",
        "llm_scraper",
        "locations"
      ],
      "data": {
        "api": "ai_optimization",
        "function": "locations",
        "se": "gemini",
        "se_type": "llm_scraper"
      },
      "result": [
        {
          "location_code": 2004,
          "location_name": "Afghanistan",
          "location_code_parent": null,
          "country_iso_code": "AF",
          "location_type": "Country"
        },
        {
          "location_code": 2008,
          "location_name": "Albania",
          "location_code_parent": null,
          "country_iso_code": "AL",
          "location_type": "Country"
        },
        {
          "location_code": 2016,
          "location_name": "American Samoa",
          "location_code_parent": null,
          "country_iso_code": "AS",
          "location_type": "Country"
        },
        {
          "location_code": 2020,
          "location_name": "Andorra",
          "location_code_parent": null,
          "country_iso_code": "AD",
          "location_type": "Country"
        },
        {
          "location_code": 2031,
          "location_name": "Azerbaijan",
          "location_code_parent": null,
          "country_iso_code": "AZ",
          "location_type": "Country"
        },
        {
          "location_code": 2894,
          "location_name": "Zambia",
          "location_code_parent": null,
          "country_iso_code": "ZM",
          "location_type": "Country"
        }
      ]
    }
  ]
}
```









 

  cURL   php   Node.js   Python   cSharp