SDK engine

Google Images Light

Быстрая Google Images выдача в typed DTO-контракте: компактные image results, raw links, SerpApi thumbnails и пагинация через start.

engine: google_images_light TS: XylopSearchEngines.GoogleImagesLight JS: XylopSearchEngines.GoogleImagesLight C#: XylopSearchEngines.GoogleImagesLight Python: XylopSearchEngines.GOOGLE_IMAGES_LIGHT PHP: XylopSearchEngines::GOOGLE_IMAGES_LIGHT Ruby: XylopApiClient::Engines::GOOGLE_IMAGES_LIGHT Java: XylopSearchEngines.GOOGLE_IMAGES_LIGHT Kotlin: XylopSearchEngines.GOOGLE_IMAGES_LIGHT Swift: XylopSearchEngines.googleImagesLight Dart: XylopSearchEngines.googleImagesLight C++: xylop::api::engines::google_images_light Go: xylop.EngineGoogleImagesLight GET /search
TypeScript пример

Вызов через @xylop/api-client-typescript

import { XylopSearchClient, XylopSearchEngines } from "@xylop/api-client-typescript";

interface SearchResponse {
  [key: string]: unknown;
}

const client = new XylopSearchClient({
  apiKey: "YOUR_API_KEY"
});

const response = await client.search<SearchResponse>(
  XylopSearchEngines.GoogleImagesLight,
  {
    q: "coffee",
    location: "Austin, Texas, United States",
    uule: "w+CAIQICINVW5pdGVkIFN0YXRlcw",
    google_domain: "google.com",
    gl: "us",
  });

TypeScript SDK написан на TypeScript, генерирует `.d.ts`, поддерживает generic response type и работает через `fetch`.

JavaScript пример

Вызов через @xylop/api-client

import { XylopSearchClient, XylopSearchEngines } from "@xylop/api-client";

const client = new XylopSearchClient({
  apiKey: "YOUR_API_KEY"
});

const response = await client.search(
  XylopSearchEngines.GoogleImagesLight,
  {
    q: "coffee",
    location: "Austin, Texas, United States",
    uule: "w+CAIQICINVW5pdGVkIFN0YXRlcw",
    google_domain: "google.com",
    gl: "us",
  });

JavaScript SDK работает в Node.js 18+ и современных браузерах через `fetch`; TypeScript declarations входят в npm package.

C# пример

Вызов через XylopSearchClient

using Xylop.Api.Client;

var client = new XylopSearchClient(new HttpClient(), "YOUR_API_KEY");

using var response = await client.SearchJsonAsync(
    XylopSearchEngines.GoogleImagesLight,
    new Dictionary<string, string?>
    {
        ["q"] = "coffee",
        ["location"] = "Austin, Texas, United States",
        ["uule"] = "w+CAIQICINVW5pdGVkIFN0YXRlcw",
        ["google_domain"] = "google.com",
        ["gl"] = "us",
    });

Для типизированного режима используйте `SearchAsync<TResponse>` и response-модель из `Xylop.Logic.SerpApiResponses.*`, которая входит в пакет C# SDK.

Python пример

Вызов через xylop-api-client

from xylop_api_client import XylopSearchClient, XylopSearchEngines

client = XylopSearchClient("YOUR_API_KEY")

response = client.search(
    XylopSearchEngines.GOOGLE_IMAGES_LIGHT,
    {
        "q": "coffee",
        "location": "Austin, Texas, United States",
        "uule": "w+CAIQICINVW5pdGVkIFN0YXRlcw",
        "google_domain": "google.com",
        "gl": "us",
    },
)

Python SDK возвращает JSON как обычные `dict`/`list` и не требует runtime-зависимостей.

PHP пример

Вызов через xylop/api-client

<?php

use Xylop\Api\Client\XylopSearchClient;
use Xylop\Api\Client\XylopSearchEngines;

$client = new XylopSearchClient('YOUR_API_KEY');

$response = $client->search(
    XylopSearchEngines::GOOGLE_IMAGES_LIGHT,
    [
        'q' => 'coffee',
        'location' => 'Austin, Texas, United States',
        'uule' => 'w+CAIQICINVW5pdGVkIFN0YXRlcw',
        'google_domain' => 'google.com',
        'gl' => 'us',
    ]
);

PHP SDK использует стандартные stream wrappers, возвращает decoded JSON array и не требует runtime-зависимостей.

Ruby пример

Вызов через xylop-api-client

require "xylop_api_client"

client = XylopApiClient::Client.new(api_key: "YOUR_API_KEY")

response = client.search(
  XylopApiClient::Engines::GOOGLE_IMAGES_LIGHT,
  {
    "q" => "coffee",
    "location" => "Austin, Texas, United States",
    "uule" => "w+CAIQICINVW5pdGVkIFN0YXRlcw",
    "google_domain" => "google.com",
    "gl" => "us",
  }
)

Ruby SDK использует стандартные `net/http`, `json` и возвращает JSON как обычные Hash/Array значения.

Java пример

Вызов через xylop-api-client

import java.util.Map;
import ru.xylop.api.client.XylopSearchClient;
import ru.xylop.api.client.XylopSearchEngines;

var client = new XylopSearchClient("YOUR_API_KEY");

String responseJson = client.searchJson(
    XylopSearchEngines.GOOGLE_IMAGES_LIGHT,
    Map.of(
        "q", "coffee",
        "location", "Austin, Texas, United States",
        "uule", "w+CAIQICINVW5pdGVkIFN0YXRlcw",
        "google_domain", "google.com",
        "gl", "us"
    ));

Java SDK использует `java.net.http.HttpClient`, возвращает JSON-строку и не требует runtime-зависимостей.

Kotlin пример

Вызов через xylop-api-kotlin-client

import ru.xylop.api.kotlin.XylopSearchClient
import ru.xylop.api.kotlin.XylopSearchEngines

val client = XylopSearchClient("YOUR_API_KEY")

val responseJson = client.searchJson(
    XylopSearchEngines.GOOGLE_IMAGES_LIGHT,
    mapOf(
        "q" to "coffee",
        "location" to "Austin, Texas, United States",
        "uule" to "w+CAIQICINVW5pdGVkIFN0YXRlcw",
        "google_domain" to "google.com",
        "gl" to "us",
    ),
)

Kotlin SDK использует JVM `HttpClient`, возвращает JSON-строку и оставляет JSON-маппинг приложению.

Swift пример

Вызов через XylopApiClient

import XylopApiClient

let client = XylopSearchClient(apiKey: "YOUR_API_KEY")

let response = try await client.searchJSON(
    engine: XylopSearchEngines.googleImagesLight,
    parameters: [
        "q": "coffee",
        "location": "Austin, Texas, United States",
        "uule": "w+CAIQICINVW5pdGVkIFN0YXRlcw",
        "google_domain": "google.com",
        "gl": "us",
    ]
)

Swift SDK использует Foundation `URLSession`, поддерживает async/await и возвращает Data, JSONSerialization values или caller-owned Decodable models.

Dart пример

Вызов через xylop_api_client

import 'package:xylop_api_client/xylop_api_client.dart';

Future<void> main() async {
  final client = XylopSearchClient('YOUR_API_KEY');

  final response = await client.search(
    XylopSearchEngines.googleImagesLight,
    <String, Object?>{
      'q': 'coffee',
      'location': 'Austin, Texas, United States',
      'uule': 'w+CAIQICINVW5pdGVkIFN0YXRlcw',
      'google_domain': 'google.com',
      'gl': 'us',
    },
  );

  print(response);
}

Dart SDK использует `dart:io`, возвращает decoded JSON или raw response text и не требует runtime-зависимостей.

C++ пример

Вызов через Xylop.Api.Cpp

#include <xylop/api/client.hpp>
#include <xylop/api/curl_transport.hpp>

int main()
{
    xylop::api::search_client client(
        "YOUR_API_KEY",
        xylop::api::curl_transport);

    auto response_json = client.search_text(
        xylop::api::engines::google_images_light,
        {
            {"q", "coffee"},
            {"location", "Austin, Texas, United States"},
            {"uule", "w+CAIQICINVW5pdGVkIFN0YXRlcw"},
            {"google_domain", "google.com"},
            {"gl", "us"},
        });

    return 0;
}

C++ SDK имеет header-only C++17 core, принимает transport callback и может использовать optional libcurl adapter `xylop::api::curl_transport`.

Go пример

Вызов через Xylop.Api.Go

package main

import (
    "context"
    "log"

    xylop "github.com/Leonid-Vizel/Xylop.AdminPanel/src/Xylop.Api.Go"
)

func main() {
    client, err := xylop.NewClient("YOUR_API_KEY")
    if err != nil {
        log.Fatal(err)
    }

    var response map[string]any
    err = client.SearchJSON(
        context.Background(),
        xylop.EngineGoogleImagesLight,
        xylop.Params(map[string]string{
            "q": "coffee",
            "location": "Austin, Texas, United States",
            "uule": "w+CAIQICINVW5pdGVkIFN0YXRlcw",
            "google_domain": "google.com",
            "gl": "us",
        }),
        &response)
    if err != nil {
        log.Fatal(err)
    }
}

Go SDK возвращает raw JSON bytes или декодирует ответ в пользовательскую структуру, `map[string]any` либо другой target.

Endpoint

HTTP контракт

URL
https://api.xylop.ru/search
Engine
google_images_light
API key
Передается SDK автоматически из настроек клиента.
Входные параметры

Параметры запроса

Параметр Тип Обязателен Значение Описание
api_key SDK string Да Ключ Xylop API. В SDK задается один раз в настройках или конструкторе клиента.
engine SDK string Да google_images_light Движок Google Images Light.
q string Да coffee Поисковая фраза для Google Images Light.
location string Нет Austin, Texas, United States Город или регион поиска. Нельзя использовать вместе с uule.
uule string Нет w+CAIQICINVW5pdGVkIFN0YXRlcw Google encoded location.
google_domain string Нет google.com Региональный домен Google.
gl string Нет us Код страны.
hl string Нет en Язык интерфейса.
cr string Нет countryUS Ограничение результатов по стране.
period_unit string Нет d s, n, h, d, w, m или y для свежих изображений.
period_value number Нет 7 Размер периода для period_unit.
start_date string Нет 20260101 Начало периода YYYYMMDD.
end_date string Нет 20260131 Конец периода YYYYMMDD.
tbs string Нет sur:cl Расширенные фильтры Google Images Light.
imgar string Нет s Соотношение сторон, например s для square.
imgsz string Нет l Размер изображения: l, m, i, 2mp и другие.
image_color string Нет trans Цветовой фильтр.
image_type string Нет photo face, photo, clipart, lineart или animated.
licenses string Нет cl Фильтр лицензий, например cl или ol.
safe string Нет active Фильтр explicit-контента.
nfpr string Нет 1 Отключить автоисправление запроса.
filter string Нет 0 Управление похожими/omitted results.
start number Нет 0 Смещение результатов: 0, 10, 20 и так далее.
device string Нет desktop desktop, tablet или mobile.
Выходные параметры

Поля ответа

Поле Тип Источник Описание
search_metadata object пример ответа Метаданные запроса: статус, идентификатор, время выполнения и служебная информация провайдера.
search_parameters object пример ответа Нормализованные параметры, с которыми upstream-поиск выполнил запрос.
search_information object пример ответа Сводка по выдаче: примерное число результатов, время поиска и дополнительные статусы.
images_results array пример ответа Изображения и связанные с ними ссылки, превью и источники.
serpapi_pagination object пример ответа Типизированное поле ответа для этого engine; структура зависит от upstream-провайдера и параметров запроса.
JSON

Пример ответа

{
  "search_metadata": {
    "id": "680edc71877a91117bfd76df",
    "status": "Success",
    "google_images_light_url": "https://www.google.com/search?q=Coffee&oq=Coffee&hl=en&gl=us&tbm=isch&gbv=1"
  },
  "search_parameters": {
    "engine": "google_images_light",
    "q": "Coffee",
    "google_domain": "google.com",
    "hl": "en",
    "gl": "us",
    "device": "desktop"
  },
  "search_information": {
    "image_results_state": "Results for exact spelling"
  },
  "images_results": [
    {
      "position": 1,
      "thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRlZTLx2ZnPg9Dd3HBYDWWVmZG_u2bSt-AwFw&s",
      "serpapi_thumbnail": "https://serpapi.com/images/url/n32iFHicuxmTUVJSUGylr5-al1xUWVCSmqJbkpRnoJdeXJJYkpmsl5yfq5-Zm5ieWmxfaAuUsXL0S7F0Tw7KiQrxqTCKygtIt3RJMfZwinQJDw_LjXKPLzVKCi7RdSx3K1crBgB8aSF4",
      "title": "Coffee - Wikipedia",
      "source": "Wikipedia, the free encyclopedia",
      "link": "https://en.wikipedia.org/wiki/Coffee",
      "raw_link": "https://en.wikipedia.org/wiki/Coffee",
      "original": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Latte_and_dark_coffee.jpg/1200px-Latte_and_dark_coffee.jpg",
      "original_width": 1200,
      "original_height": 750,
      "related_content_id": "b0JsYkFFclBGYWVsY01cIixcIlU2b0pNbkYtZWVWVEFN",
      "serpapi_related_content_link": "https://serpapi.com/search.json?engine=google_images_related_content&gl=us&hl=en&q=Coffee&related_content_id=...",
      "source_logo": "https://serpapi.com/images/url/vumAE3icu9mXUVJSUGylr5-al1xUWVCSmqJbkpRnqJdeXJJYkpmsl5yfq5-WWJaZnJ8XZmRfWpRji9CgV56ZnVmQmpKZqJdflK6WnJOZmldi6-nr6O4aH-zqGOTsoVacWZVqa2imVlJZkGrr5hjm6ezvp5aWmJOTlJicHZ9fUFJsGxIZ4KoT7BnlqhMa5AMAISMzHA",
      "is_product": false
    }
  ],
  "serpapi_pagination": {
    "current": 1,
    "next": "https://serpapi.com/search.json?device=desktop&engine=google_images_light&gl=us&google_domain=google.com&hl=en&q=Coffee&start=10"
  }
}