Постановка завдань органічної видачі Google
DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Постановка завдань органічної видачі Google
Ставить у чергу ранжовані результати за ключовим словом у Google й повертає id завдання в tasks[0].id. Відповідь обгорнуто в конверт DataForSEO: дані в tasks[0].result, результат у tasks[0].status_code — відхилений запит усе одно повертає HTTP 200. Живий близнюк відповідає одразу й простіший для одного запиту; ставте в чергу, коли пакет не вкладається в час виклику інструмента.
Довідкові ціни
- Тарифікація: вартість відповіді за даними постачальника.
- Довідкова оцінка запиту: USD 0.02.
- Довідковий множник для клієнта: 1.0. Не застосовуйте його повторно до вже розрахованої суми клієнта.
Довідкові метадані, а не котирування для облікового запису, гарантована ціна чи ліміт витрат. Кредити ресурсів — це не кредити Felo. Остаточні списання здійснюються за записами білінгу Felo.
- Тип: array (object | null)[]
- browserТип: integer | null
_screen _height висота екрана браузера
необов'язкове поле
можна задати власну висоту екрана браузера для розрахунку піксельних позицій для конкретного пристрою;
можна вказати в такому діапазоні:
240-9999;за замовчуванням параметр встановлено в:
1080дляdesktop;640дляmobileнаandroid;812дляmobileнаiOS;Примітка: щоб використовувати цей параметр, задайте для
calculate_rectanglesзначенняtrue - browserТип: integer | null
_screen _resolution _ratio коефіцієнт роздільної здатності екрана браузера
необов'язкове поле
можна задати власний коефіцієнт роздільної здатності екрана браузера для розрахунку піксельних позицій для конкретного пристрою;
можна вказати в такому діапазоні:
0.5-3;за замовчуванням параметр встановлено в:
1дляdesktop;3дляmobileнаandroid;3дляmobileнаiOS;Примітка: щоб використовувати цей параметр, задайте для
calculate_rectanglesзначенняtrue - browserТип: integer | null Формат: int64
_screen _width ширина екрана браузера
необов'язкове поле
можна задати власну ширину екрана браузера для розрахунку піксельних позицій для конкретного пристрою;
можна вказати в такому діапазоні:
240-9999;за замовчуванням параметр встановлено в:
1920дляdesktop;360дляmobileнаandroid;375дляmobileнаiOS;Примітка: щоб використовувати цей параметр, задайте для
calculate_rectanglesзначенняtrue - calculateТип: boolean | null
_rectangles розрахунок піксельних позицій для елементів SERP у розширених результатах
необов'язкове поле
піксельна позиція — це відстань між снипетом результату та верхнім лівим кутом екрана;
за замовчуванням параметр встановлено в
falseПримітка: за використання цього параметра додатково стягується $0.0006
- depthТип: integer | null
глибина парсингу
необов'язкове поле
кількість результатів у SERP
значення за замовчуванням:
10максимальне значення:
700
З вашого облікового запису стягується плата за кожен SERP, що містить до 10 результатів;Встановлення глибини понад 10 може призвести до додаткових списань, якщо пошукова система повертає понад 10 результатів;
Вартість можна розрахувати на сторінці тарифів.
- deviceТип: string | null
тип пристрою
необов'язкове поле
повертати результати для певного типу пристрою
може набувати значень:
desktop,mobileзначення за замовчуванням:
desktop - expandТип: boolean | null
_ai _overview розгорнути AI-огляд
необов'язкове поле
установіть
true, щоб розгорнути елементai_overview;значення за замовчуванням:
false;Примітка: цей параметр застосовується лише до HTML-результатів завдань
- findТип: array string[] | null
_targets _in типи елементів SERP для перевірки на цілі
необов'язкове поле
щоб увімкнути цей параметр, також має бути ввімкнено
stop_crawl_on_matchуказує, які типи елементів SERP слід перевіряти на збіг із цілями
якщо не вказано, на цілі перевіряються всі елементи першого рівня з полями
urlіdomainможливі значення:
organic,paid,local_pack,featured_snippet,events,google_flights,images,jobs,knowledge_graph,local_service,map,scholarly_articles,third_party_reviews,twitterПримітка: не може містити ті самі типи елементів, що й
ignore_targets_inприклад:
"find_targets_in": ["organic", "featured_snippet"]докладніше про цей параметр — у нашому Help Center
- groupТип: boolean | null
_organic _results показувати пов'язані результати
необов'язкове поле
якщо задано
true, елементrelated_resultу відповіді буде надано як сніпет його батьківського органічного результату;якщо задано
false, елементrelated_resultбуде надано як окремий органічний результат;значення за замовчуванням:
true - ignoreТип: array string[] | null
_targets _in типи елементів SERP, що виключаються з пошуку цілей
необов'язкове поле
щоб увімкнути цей параметр, також має бути ввімкнено
stop_crawl_on_matchуказує, які типи елементів SERP слід виключати під час пошуку збігів із цілями
можливі значення:
organic,paid,local_pack,featured_snippet,events,google_flights,images,jobs,knowledge_graph,local_service,map,scholarly_articles,third_party_reviews,twitterПримітка: не може містити ті самі типи елементів, що й
find_targets_inприклад:
"ignore_targets_in": ["paid", "images"]докладніше про цей параметр — у нашому Help Center
- keywordТип: string
ключове слово
обов'язкове поле
у полі
keywordможна вказати до 700 символівусі %## буде декодовано (символ ‘+’ декодується в пробіл)
якщо в
keywordпотрібен символ “%”, укажіть його як “%25”;якщо в
keywordпотрібен символ “+”, укажіть його як “%2B”;якщо це поле містить такі параметри, як ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, вартість завдання множиться на 5
Докладніше про правила й обмеження полів
keywordіkeywordsв API DataForSEO читайте в цій статті довідкового центру - languageТип: string
_code код мови пошукової системи
обов'язкове поле, якщо не вказано
language_nameякщо використовуєте це поле,
language_nameвказувати не потрібносписок доступних мов пошукової системи з їхнім
language_codeможна отримати окремим запитом доhttps://api.dataforseo.com/v3/serp/google/languagesприклад:
en - languageТип: string
_name повна назва мови пошукової системи
обов'язкове поле, якщо не вказано
language_codeякщо використовуєте це поле,
language_codeвказувати не потрібносписок доступних мов пошукової системи з їхньою
language_nameможна отримати окремим запитом доhttps://api.dataforseo.com/v3/serp/google/languagesприклад:
English - loadТип: boolean | null
_async _ai _overview завантаження асинхронного AI-огляду
необов'язкове поле
установіть
true, щоб отримувати елементиai_overviewу SERP, навіть якщо вони завантажуються асинхронно;якщо задано
false, ви отримаєте елементиai_overviewлише з кешу;значення за замовчуванням:
falseПримітка: за використання цього параметра додатково стягується $0.0006;
якщо елемент відсутній або містить
"asynchronous_ai_overview": false, усі додаткові списання буде повернено на баланс вашого облікового запису - locationТип: integer
_code код місцезнаходження пошукової системи
обов'язкове поле, якщо не вказано
location_nameабоlocation_coordinateякщо використовуєте це поле,
location_nameабоlocation_coordinateвказувати не потрібносписок доступних місцезнаходжень пошукових систем з їхнім
location_codeможна отримати окремим запитом доhttps://api.dataforseo.com/v3/serp/google/locationsприклад:
2840 - locationТип: string
_coordinate GPS-координати місцезнаходження
обов'язкове поле, якщо не вказано
location_nameабоlocation_codeякщо використовуєте це поле,
location_nameабоlocation_codeвказувати не потрібнопараметр
location_coordinateслід указувати у форматі "latitude,longitude,radius"максимальна кількість десяткових знаків для "latitude" і "longitude": 7
мінімальне значення для "radius": 199 (мм)
максимальне значення для "radius": 199999 (мм)
приклад:
53.476225,-2.243572,200 - locationТип: string
_name повна назва місцезнаходження пошукової системи
обов'язкове поле, якщо не вказано
location_codeабоlocation_coordinateякщо використовуєте це поле,
location_codeабоlocation_coordinateвказувати не потрібносписок доступних місцезнаходжень пошукової системи з їхнім
location_nameможна отримати окремим запитом доhttps://api.dataforseo.com/v3/serp/google/locationsприклад:
London,England,United Kingdom - matchТип: string
_type тип відповідності цілі
обов'язкове поле, якщо вказано
stop_crawl_on_matchтип відповідності для
match_valueможливі значення:
domain– конкретний домен або піддоменwith_subdomains– основний домен і піддомениwildcard– шаблон із символами підстановки - matchТип: string
_value цільовий домен, піддомен або значення шаблону
обов'язкове поле, якщо вказано
stop_crawl_on_matchукажіть цільовий домен, піддомен або значення шаблону;
Примітка: домен або піддомен вказується без протоколу запиту;
приклад:
"match_value": "dataforseo.com","match_value": "/blog/post-*" - maxТип: integer | null
_crawl _pages ліміт обходу сторінок
необов'язкове поле
кількість сторінок результатів пошуку для обходу
максимальне значення:
100Примітка: плата стягується за кожну проскановану сторінку (10 органічних результатів на сторінку);
докладніше про тарифи — на сторінці Pricing;
Примітка#2: параметри
max_crawl_pagesіdepthдоповнюють один одного;докладніше в довідковому центрі
- osТип: string | null
операційна система пристрою
необов'язкове поле
якщо
desktopвказано в поліdevice, вибирайте зі значень:windows,macosзначення за замовчуванням:
windowsякщо
mobileвказано в поліdevice, вибирайте зі значень:android,iosзначення за замовчуванням:
android - peopleТип: integer | null
_also _ask _click _depth кліки по відповідному елементу
необов'язкове поле
укажіть глибину кліків по елементу
people_also_ask, щоб отримати додаткові елементиpeople_also_ask_element;Примітка незалежно від пріоритету завдання за кожен клік з облікового запису додатково стягується $0.00015;
якщо елемент відсутній або ми виконаємо менше кліків, ніж ви вказали, усі додаткові списання буде повернено на баланс вашого облікового запису
можливі значення: від
1до4 - pingbackТип: string | null
_url URL сповіщення про завершення завдання
необов'язкове поле
коли завдання буде виконано, ми надішлемо GET-запит на вказаний вами URL
рядок «$id» можна використовувати як змінну
$id, а «$tag» — як urlencoded-змінну$tag. Перед надсиланням запиту ми підставимо потрібні значення.приклад:
http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tagПримітка: спеціальні символи в
pingback_urlбуде urlencoded;зокрема, символ
#кодується як%23
Докладніше див. в Help Center
- postbackТип: string
_data тип даних postback_url
обов'язкове поле, якщо вказано
postback_urlвідповідає типу даних, які буде надіслано на ваш сервер
можливі значення:
regular,advanced,html - postbackТип: string | null
_url URL для надсилання результатів завдання
необов'язкове поле
коли завдання буде виконано, ми надішлемо POST-запит із результатами, стисненими у форматі
gzip, на вказаний вамиpostback_urlрядок «$id» можна використовувати як змінну
$id, а «$tag» — як urlencoded-змінну$tag. Перед надсиланням запиту ми підставимо потрібні значенняприклад:
http://your-server.com/postbackscript?id=$idhttp://your-server.com/postbackscript?id=$id&tag=$tagПримітка: спеціальні символи в
postback_urlбуде закодовано в URL;зокрема, символ
#буде закодовано як%23
докладніше — у довідковому центрі
- priorityТип: integer | null
пріоритет завдання
необов'язкове поле
може приймати такі значення:
1 — звичайний пріоритет виконання (встановлюється за замовчуванням);
2 — високий пріоритет виконання
За завдання з високим пріоритетом виконання стягується додаткова плата.Вартість можна розрахувати на сторінці тарифів.
- removeТип: array string[] | null
_from _url видалення певних параметрів з URL
необов'язкове поле
за допомогою цього поля можна вказати до 10 параметрів для видалення з URL у результаті
приклад:
"remove_from_url": ["srsltid"] - seТип: string | null
_domain домен пошукової системи
необов'язкове поле
ми автоматично вибираємо відповідний домен пошукової системи залежно від указаних вами місцезнаходження та мови
однак у цьому полі можна задати власний домен пошукової системи
приклад:
google.co.uk, google.com.au, google.deтощо. - searchТип: string | null
_param додаткові параметри пошукового запиту
необов'язкове поле
список доступних параметрів і додаткові відомості наведено тут
Примітка: такі параметри пошукової системи не підтримуються й буде автоматично скасовано, якщо їх указати:lr,cr,as_qdr,as_sitesearch,as_occt,as_filetype. - stopТип: array (object | null)[] | null
_crawl _on _match масив цілей для зупинки обходу необов'язкове поле якщо вказано, відповідь міститиме результати SERP до вказаного match_value включно; у цьому масиві можна вказати до 10 цільових значень приклад: "stop_crawl_on_match":[{"match_value":"dataforseo.com","match_type":"with_subdomains"}] докладніше про цей параметр — у нашому довідковому центрі: https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api оплата стягується за кожен SERP, обійдений за вказаними цілями
- matchТип: string | null
_type тип зіставлення цілі обов'язкове поле, якщо вказано stop_crawl_on_match; тип зіставлення для match_value можливі значення: domain, with_subdomains, wildcard
- matchТип: string | null
_value цільовий домен або значення з підстановкою обов'язкове поле, якщо вказано stop_crawl_on_match; укажіть цільовий домен або значення з підстановкою; Примітка: ім'я домену вказується без протоколу запиту; приклад: dataforseo.com
- tagТип: string | null
визначений користувачем ідентифікатор завдання
необов'язкове поле
обмеження — 255 символів
цей параметр дає змогу ідентифікувати завдання та зіставити його з результатом
вказане значення
tagви знайдете в об'єктіdataвідповіді - targetТип: string | null
_search _mode режим зіставлення цілей
необов'язкове поле
щоб використовувати цей параметр, також має бути ввімкнено
stop_crawl_on_matchвизначає, як має зупинятися обхід, коли в
stop_crawl_on_matchуказано кілька цілейможливі значення:
all,anyall– обхід зупиняється лише тоді, коли знайдено всі вказані ціліany– обхід зупиняється, коли знайдено будь-яку одну цільзначення за замовчуванням:
anyдокладніше про цей параметр — у довідковому центрі
- urlТип: string | null
прямий URL пошукового запиту
необов'язкове поле
можна вказати прямий URL, і ми розберемо його на потрібні поля. Зауважте, що цей спосіб найскладніший для обробки нашим API, а також вимагає вказати точну мову й місцезнаходження в URL. У більшості випадків ми не рекомендуємо використовувати цей спосіб.
приклад:
https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS
Примітка: такі параметри пошукової системи не підтримуються й буде автоматично скасовано, якщо вказати їх в URL:lr,cr,as_qdr,as_sitesearch,as_occt,as_filetype.
- Тип: object | null · Response36Afe1097B20_SerpGoogleOrganicTaskPostResponseInfo200
- Тип: number | null Формат: doublecost
загальна вартість завдань, USD
- Тип: integer | nullstatus
_code загальний код стану. Повний список кодів відповіді можна знайти тут.
- Тип: string | nullstatus
_message загальне інформаційне повідомлення. Повний список загальних інформаційних повідомлень можна знайти тут.
- Тип: array (object | null)[] | nulltasks
масив завдань
- Тип: object | null · Response36Afe1097B20_SerpGoogleOrganicTaskPostTaskInfo
- costТип: number | null Формат: double
загальна вартість завдань, USD
- dataТип: object | null
містить ті самі параметри, які ви вказали в POST-запиті
- propertyТип: object | null
Name
- idТип: string | null
ідентифікатор завдання унікальний ідентифікатор завдання в нашій системі у форматі UUID
- pathТип: array (string | null)[] | null
шлях URL
- resultТип: object | null
масив результатів
у цьому випадку значення будеnull - resultТип: integer | null Формат: int64
_count кількість елементів у масиві result
- statusТип: integer | null
_code код стану завдання формується DataForSEO, може перебувати в діапазоні 10000-60000 Повний список кодів відповіді можна знайти тут.
- statusТип: string | null
_message інформаційне повідомлення завдання Повний список загальних інформаційних повідомлень можна знайти тут.
- timeТип: string | null
час виконання, секунди
- Тип: integer | null Формат: int64tasks
_count кількість завдань у масиві tasks
- Тип: integer | null Формат: int64tasks
_error кількість завдань у масиві tasks, повернутих з помилкою
- Тип: string | nulltime
загальний час виконання, секунди
- Тип: string | nullversion
поточна версія API
application/json - 400
Не вдалося обробити запит. Перевірте параметри запиту.
- 401
Потрібен дійсний API-ключ Felo.
- 402
Запит неможливо виконати: умови білінгу не виконано.
- 403
Обліковий запис не має дозволу на цю операцію.
- 429
Досягнуто ліміту запитів або витрат.
- 502
Служба не змогла виконати запит.
- 503
API або служба білінгу тимчасово недоступні.
- 504
Час очікування обробки запиту вичерпано.
- default
Відповідь із помилкою; наскрізні відповіді апстріму можуть використовувати формати постачальника
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/serp/google/organic/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein"
},
{
"language_name": "English",
"location_name": "United States",
"keyword": "albert einstein",
"priority": 2,
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
},
{
"url": "https://www.google.co.uk/search?q=albert%20einstein&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS",
"postback_data": "html",
"postback_url": "https://your-server.com/postbackscript"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}