DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Tworzenie zadań OnPage
Rozpoczyna przeszukiwanie target i zwraca id zadania w tasks[0].id — to id jest uchwytem potrzebnym każdemu innemu narzędziu z tej rodziny, więc go zachowaj. max_crawl_pages ogranicza przeszukiwanie, start_url, max_crawl_depth, priority_urls i crawl_delay je kształtują, a store_raw_html decyduje, czy post_dataforseo_on_page_raw_html będzie miał później co zwrócić. Opakowane w kopertę DataForSEO: dane w tasks[0].result, wynik w tasks[0].status_code — odrzucone żądanie nadal zwraca HTTP 200. ⚠️ To nie jest zwykła para submit/fetch: przeszukiwanie to sesja, którą następnie odpytuje według id kilkanaście innych narzędzi. Odpytuj get_dataforseo_on_page_summary, aż crawl_progress przyjmie wartość finished; przeszukanie jednej strony example.com zajęło znacznie mniej niż minutę.
Cennik referencyjny
- Rozliczanie: zgłoszony koszt odpowiedzi.
- Szacunek referencyjny dla żądania: USD 0.003.
- Referencyjny mnożnik klienta: 1.0. Nie stosuj go ponownie do rozliczonej kwoty klienta.
Wyłącznie metadane referencyjne, a nie wycena konta, gwarantowana cena lub limit wydatków. Kredyty zasobów nie są kredytami Felo. Ostateczne obciążenia są zgodne z zapisami rozliczeniowymi Felo.
- Typ: array (object | null)[]
- acceptTyp: string | null
_language nagłówek języka do uzyskiwania dostępu do witryny
pole opcjonalne
obsługiwane są wszystkie formaty ustawień regionalnych (xx, xx-XX, xxx-XX itd.)
Uwaga: jeśli nie podasz tego parametru, niektóre witryny mogą odmówić dostępu; w takim przypadku strony zostaną zwrócone z wartością"type":"brokenw tablicy odpowiedzi - allowTyp: boolean | null
_subdomains uwzględnij strony w subdomenach
pole opcjonalne
ustaw natrue, jeśli chcesz przeszukiwać wszystkie subdomeny docelowej witryny
wartość domyślna:false - allowedTyp: array string[] | null
_subdomains subdomeny do przeszukania
pole opcjonalne
podaj subdomeny, które chcesz przeszukać
przykład:["blog.site.com", "my.site.com", "shop.site.com"]
Uwaga: aby użyć tego parametru, parametrallow_subdomainspowinien być ustawiony nafalse;
w przeciwnym razie zawartość polaallowed_subdomainszostanie zignorowana, a wyniki zostaną zwrócone dla wszystkich subdomen - browserTyp: string | null
_preset ustawienie wstępne parametrów ekranu przeglądarki
pole opcjonalne
jeśli używasz tego pola, nie musisz podawaćbrowser_screen_width,browser_screen_height,browser_screen_scale_factormożliwe wartości:desktop,mobile,tabletdesktopustawienie zastosuje następujące wartości:browser_screen_width: 1920browser_screen_height: 1080browser_screen_scale_factor: 1mobileustawienie zastosuje następujące wartości:browser_screen_width: 390browser_screen_height: 844browser_screen_scale_factor: 3tabletustawienie zastosuje następujące wartości:browser_screen_width: 1024browser_screen_height: 1366browser_screen_scale_factor: 2
Uwaga: aby użyć tego parametru, ustawenable_javascriptlubenable_browser_renderingnatrue - browserTyp: integer | null
_screen _height wysokość ekranu przeglądarki
pole opcjonalne
możesz ustawić niestandardową wysokość ekranu przeglądarki, aby przeprowadzić audyt dla konkretnego urządzenia;
jeśli używasz tego pola, nie musisz podawaćbrowser_preset, ponieważ zostanie ono zignorowane;
Uwaga: aby użyć tego parametru, ustawenable_javascriptlubenable_browser_renderingnatruewartość minimalna w pikselach:240
wartość maksymalna w pikselach:9999 - browserTyp: number | null
_screen _scale _factor współczynnik skali ekranu przeglądarki
pole opcjonalne
możesz ustawić niestandardowy współczynnik rozdzielczości ekranu przeglądarki, aby przeprowadzić audyt dla konkretnego urządzenia;
jeśli używasz tego pola, nie musisz podawaćbrowser_preset, ponieważ zostanie ono zignorowane;
Uwaga: aby użyć tego parametru, ustawenable_javascriptlubenable_browser_renderingnatruewartość minimalna:0.5
wartość maksymalna:3 - browserTyp: integer | null Format: int64
_screen _width szerokość ekranu przeglądarki
pole opcjonalne
możesz ustawić niestandardową szerokość ekranu przeglądarki, aby przeprowadzić audyt dla konkretnego urządzenia;
jeśli używasz tego pola, nie musisz podawaćbrowser_preset, ponieważ zostanie ono zignorowane;
Uwaga: aby użyć tego parametru, ustawenable_javascriptlubenable_browser_renderingnatruewartość minimalna w pikselach:240
wartość maksymalna w pikselach:9999 - calculateTyp: boolean | null
_keyword _density oblicz gęstość słów kluczowych dla domeny docelowej
pole opcjonalne
ustaw natrue, jeśli chcesz obliczyć gęstość słów kluczowych dla stron witryny
wartość domyślna:false
Uwaga: użycie tego parametru wiąże się z dodatkowymi opłatami; więcej informacji o koszcie zadań z tym parametrem znajdziesz w naszym artykule pomocy
po zakończeniu przeszukiwania możesz uzyskać wartości gęstości słów kluczowych za pomocą endpointu Keyword Density - checkTyp: boolean | null
_spell - checkTyp: array string[] | null
_spell _exceptions słowa wykluczone ze sprawdzania pisowni
pole opcjonalne
podaj słowa, które chcesz wykluczyć ze sprawdzania pisowni
maksymalna długość słowa: 100 znaków
maksymalna liczba słów: 1000
przykład:"SERP", "minifiers", "JavaScript" - checkTyp: string | null
_spell _language język sprawdzania pisowni
pole opcjonalne
obsługiwane języki: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
Uwaga: jeśli nie podano języka, zostanie on ustawiony automatycznie na podstawie treści strony - checksTyp: object | null
_threshold niestandardowe wartości progowe dla testów
pole opcjonalne
możesz podać niestandardowe wartości progowe dla parametrów zawartych w obiekciechecksodpowiedzi OnPage API;
Uwaga: modyfikować można tylko całkowite wartości progowe;
na przykład parametryhigh_loading_timeilarge_page_sizesą domyślnie ustawione odpowiednio na 3 sekundy i 1 megabajt;
jeśli chcesz zmienić te progi na 1 sekundę i 1000 kB, użyj następującego fragmentu:"checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
dostępne parametry do dostosowania wraz z wartościami domyślnymi:"title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"- propertyTyp: integer | null Format: int64
Name Signed 64-bit integers (long type).
- crawlTyp: integer | null
_delay opóźnienie między żądaniami, ms
pole opcjonalne
niestandardowe opóźnienie między żądaniami crawlera do serwera
wartość domyślna:2000 - crawlTyp: boolean | null
_sitemap _only indeksuj tylko strony wskazane w sitemapie
pole opcjonalne
ustaw natrue, jeśli chcesz indeksować tylko strony wskazane w sitemapie
jeśli ustawisz ten parametr natruei nie podaszcustom_sitemap, zaindeksujemy domyślny sitemap
wartość domyślna:false
Uwaga: aby użyć tego parametru,respect_sitemapmusi mieć wartośćtrue - customTyp: string | null
_js niestandardowy javascript
pole opcjonalne
Uwaga: czas wykonania skryptu podanego w tym polu nie może przekraczać 700 ms. Możesz na przykład użyć poniższego fragmentu JS, aby sprawdzić, czy witryna zawiera Google Tag Manager jako atrybutscr:let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;zwracana wartość zależy od tego, co podasz w tym polu. Jeśli na przykład podasz następujący skrypt:meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
w odpowiedzi otrzymasz następujące dane:"custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
Uwaga: długość podanego skryptu nie może przekraczać 2000 znaków - customTyp: string | null
_robots _txt niestandardowe ustawienia robots.txt
pole opcjonalne
przykład:Disallow: /directory1/ - customTyp: string | null
_sitemap niestandardowy adres URL sitemapa
pole opcjonalne
adres URL strony, na której znajduje się alternatywny sitemap
Uwaga: aby użyć tego parametru,respect_sitemapmusi mieć wartośćtrue - customTyp: string | null
_user _agent niestandardowy user agent
pole opcjonalne
niestandardowy user agent do przeszukiwania witryny
przykład:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
wartość domyślna:Mozilla/5.0 (compatible; RSiteAuditor) - disableTyp: boolean | null
_cookie _popup wyłącz okno zgody na pliki cookie
pole opcjonalne
ustaw natrue, jeśli chcesz wyłączyć okno z prośbą o zgodę na pliki cookie;
wartość domyślna:false - disableTyp: array string[] | null
_page _checks zapobiegaj uruchamianiu wybranych testów strony
pole opcjonalne
podaj wybranechecks, aby zapobiec ich uruchamianiu i wpływaniu naonpage_score; przykład:"disable_page_checks": ["is_5xx_code", "is_4xx_code"] - disableTyp: array string[] | null
_sitewide _checks zapobiegaj uruchamianiu wybranych testów całej witryny
pole opcjonalne
podaj następującechecks, aby zapobiec ich uruchamianiu w witrynietarget:"test_page_not_found""test_canonicalization""test_https_redirect""test_directory_browsing"przykład:"disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]więcej informacji w naszym Centrum pomocy - disallowedTyp: array string[] | null
_subdomains subdomeny do pominięcia podczas indeksowania
pole opcjonalne
podaj subdomeny, których nie chcesz indeksować
przykład:["status.site.com", "docs.site.com"]
Uwaga: aby użyć tego parametru, parametrallow_subdomainsmusi mieć wartośćtrue - enableTyp: boolean | null
_browser _rendering emuluj renderowanie przeglądarki, aby mierzyć Core Web Vitals
pole opcjonalne
dzięki temu parametrowi możesz emulować przeglądarkę podczas ładowania strony internetowej;enable_browser_renderingwczytuje style, obrazy, czcionki, animacje, filmy i inne zasoby strony;
wartość domyślna:false
ustaw natrue, aby otrzymać w odpowiedzi metryki Core Web Vitals (FID, CLS, LCP);
jeśli używasz tego pola, parametryenable_javascriptiload_resourcesmuszą mieć wartośćtrue
Uwaga: użycie tego parametru wiąże się z dodatkowymi opłatami; więcej o koszcie zadań z tym parametrem w naszym artykule pomocy; koszt można obliczyć na stronie Cennik - enableTyp: boolean | null
_content _parsing - enableTyp: boolean | null
_javascript - enableTyp: boolean | null
_www _redirect _check sprawdź, czy domena wdrożyła przekierowanie www
pole opcjonalne
ustaw natrue, jeśli chcesz sprawdzić, czy żądana domena wdrożyła przekierowanie z www na bez www lub z bez www na www;
wartość domyślna:false - enableTyp: boolean | null
_xhr włącz XMLHttpRequest na stronie
pole opcjonalne
ustaw natrue, jeśli chcesz, aby nasz crawler pobierał dane z serwera internetowego za pomocą obiektu XMLHttpRequest
wartość domyślna:false; jeśli używasz tego pola,enable_javascriptmusi mieć wartośćtrue; - forceTyp: boolean | null
_sitewide _checks włącz testy całej witryny podczas indeksowania pojedynczej strony
pole opcjonalne
ustaw natrue, aby otrzymać dane z testów całej witryny podczas indeksowania pojedynczej strony;
wartość domyślna:false - loadTyp: boolean | null
_resources wczytuj zasoby
pole opcjonalne
ustaw natrue, jeśli chcesz wczytywać obrazy, arkusze stylów, skrypty i uszkodzone zasoby
wartość domyślna:false
Uwaga: użycie tego parametru wiąże się z dodatkowymi opłatami; więcej o koszcie zadań z tym parametrem w naszym artykule pomocy; koszt można obliczyć na stronie Cennik - maxTyp: integer | null
_crawl _depth głębokość indeksowania
pole opcjonalne
głębokość linkowania indeksowanych stron;
na przykład strona początkowa indeksowania to poziom 0, strony, do których prowadzą z niej linki, to poziom 1 itd. - maxTyp: integer
_crawl _pages limit indeksowanych stron
pole wymagane
liczba stron do zaindeksowania w podanej domenie
Uwaga:
jeśli ustawiszmax_crawl_pagesna 1 i nie podaszstart_urllub podasz w nim stronę główną, następujące testy całej witryny zostaną wyłączone:test_canonicalization,enable_www_redirect_check,test_hidden_server_signature,test_page_not_found,test_directory_browsing,test_https_redirect
aby je mimo to włączyć, ustawforce_sitewide_checksnatrue. Jeśli ustawiszmax_crawl_pagesna 1 i podaszstart_urlinny niż strona główna, wszystkie testy całej witryny zostaną wyłączone;
aby je mimo to włączyć, ustawforce_sitewide_checksnatrue - pingbackTyp: string | null
_url adres URL powiadomienia o zakończonym zadaniu
pole opcjonalne
po zakończeniu zadania powiadomimy Cię żądaniem GET wysłanym na podany adres URL
możesz użyć ciągu ‘$id’ jako zmiennej$id, a ‘$tag’ jako zmiennej$tagzakodowanej w adresie URL. Przed wysłaniem żądania ustawimy wymagane wartości.
przykład:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
Uwaga: znaki specjalne wpingback_urlzostaną zakodowane w adresie URL;
m.in. znak#zostanie zakodowany jako%23 - priorityTyp: array string[] | null
_urls adresy URL indeksowane z pominięciem kolejki
pole opcjonalne
adresy URL podane w tej tablicy zostaną zaindeksowane w pierwszej kolejności, z pominięciem kolejki indeksowania;
Uwaga: należy podać bezwzględny adres URL;
możesz podać maksymalnie 20 adresów URL;
wszystkie adresy URL w tablicy muszą należeć do domenytarget;
subdomeny zostaną zignorowane, chyba że parametrallow_subdomainsma wartośćtrue; przykład:"priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>] - respectTyp: boolean | null
_sitemap uwzględniaj sitemap podczas indeksowania
pole opcjonalne
ustaw natrue, jeśli chcesz podczas indeksowania zachować kolejność stron wskazaną w głównym sitemapie;
wartość domyślna:false
Uwaga: jeśli ustawisztrue, wartośćclick_depthw odpowiedzi API będzie równa0;
polemax_crawl_depthżądania zostanie zignorowane; liczbę stron do zaindeksowania możesz określić parametremmax_crawl_pages - returnTyp: boolean | null
_despite _timeout zwracaj dane stron mimo błędu przekroczenia limitu czasu
pole opcjonalne
jeślitrue, dane zostaną zwrócone dla stron, które nie wczytały się w ciągu 120 sekund i zwróciły błąd przekroczenia limitu czasu;
wartość domyślna:false - robotsTyp: string | null
_txt _merge _mode scalaj z ustawieniami robots.txt lub zastąp je
pole opcjonalne
możliwe wartości:merge,override;
ustaw naoverride, jeśli chcesz zignorować ograniczenia indeksowania witryny i inne ustawienia robots.txt
wartość domyślna:merge;
Uwaga: jeśli ustawiszoverride, podaj parametrcustom_robots_txt - startTyp: string | null
_url pierwszy adres URL do zaindeksowania
pole opcjonalne
Uwaga: należy podać bezwzględny adres URL
jeśli chcesz zaindeksować pojedynczą stronę, podaj jej adres URL w tym polu i dodatkowo ustaw parametrmax_crawl_pagesna1
możesz też użyć endpointu live Instant Pages, aby uzyskać dane dotyczące konkretnej strony - storeTyp: boolean | null
_raw _html - supportTyp: boolean | null
_cookies obsługuj pliki cookie na indeksowanych stronach
pole opcjonalne
ustaw natrue, aby obsługiwać pliki cookie podczas indeksowania stron
wartość domyślna:false - switchTyp: boolean | null
_pool przełącz pulę proxy
pole opcjonalne
jeślitrue, do pobrania żądanych danych zostaną użyte dodatkowe pule proxy;
parametr można zastosować, gdy jednocześnie ustawiono wiele zadań, co powoduje sporadyczne błędyrate-limiti/lubsite_unreachable - tagTyp: string | null
identyfikator zadania zdefiniowany przez użytkownika
pole opcjonalne
limit znaków: 255
ten parametr służy do identyfikacji zadania i dopasowania go do wyniku
podaną wartośćtagznajdziesz w obiekciedataodpowiedzi - targetTyp: string
domena docelowa
pole wymagane
nazwę domeny należy podać bezhttps://iwww.
jeśli podasz adres URL strony, wyniki zostaną zwrócone dla domeny zawartej w adresie URL - validateTyp: boolean | null
_micromarkup
- Typ: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo200
- Typ: number | null Format: doublecost
łączny koszt zadań, USD
- Typ: integer | nullstatus
_code ogólny kod statusu pełną listę kodów odpowiedzi znajdziesz tutaj
- Typ: string | nullstatus
_message ogólny komunikat informacyjny pełną listę ogólnych komunikatów informacyjnych znajdziesz tutaj
- Typ: array (object | null)[] | nulltasks
tablica zadań
- Typ: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
- costTyp: number | null Format: double
łączny koszt zadań, USD
- dataTyp: object | null
zawiera te same parametry, które podano w żądaniu POST
- propertyTyp: object | null
Name
- idTyp: string | null
identyfikator zadania unikalny identyfikator zadania w naszym systemie w formacie UUID
- pathTyp: array (string | null)[] | null
ścieżka URL
- resultTyp: object | null
tablica wyników
w tym przypadku wartością będzienull - resultTyp: integer | null Format: int64
_count liczba elementów w tablicy result
- statusTyp: integer | null
_code kod statusu zadania wygenerowany przez DataForSEO; może mieścić się w następującym zakresie: 10000-60000 pełną listę kodów odpowiedzi znajdziesz tutaj
- statusTyp: string | null
_message komunikat informacyjny zadania pełną listę ogólnych komunikatów informacyjnych znajdziesz tutaj
- timeTyp: string | null
czas wykonania, sekundy
- Typ: integer | null Format: int64tasks
_count liczba zadań w tablicy tasks
- Typ: integer | null Format: int64tasks
_error liczba zadań w tablicy tasks zwróconych z błędem
- Typ: string | nulltime
łączny czas wykonania, sekundy
- Typ: string | nullversion
bieżąca wersja interfejsu API
application/json - 400
Nie można przetworzyć żądania. Sprawdź parametry żądania.
- 401
Wymagany jest prawidłowy klucz API Felo.
- 402
Nie można kontynuować żądania, ponieważ nie spełniono wymogu rozliczeniowego.
- 403
Konto nie ma uprawnień do wykonania tej operacji.
- 429
Osiągnięto limit żądań lub wydatków.
- 502
Usługa nie mogła ukończyć żądania.
- 503
API lub usługa rozliczeniowa jest tymczasowo niedostępna.
- 504
Upłynął limit czasu usługi podczas przetwarzania żądania.
- default
Odpowiedź błędu; odpowiedzi przekazywane bezpośrednio od dostawcy upstream mogą używać formatów dostawcy
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"target": "dataforseo.com",
"max_crawl_pages": 10,
"load_resources": true,
"enable_javascript": true,
"custom_js": "meta = {}; meta.url = document.URL; meta;",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'
{
"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
}
]
}