Анализ сайта API 2.0
Смотрите также: MCP Server
Данные, полученные через API анализа, можно использовать для создания новых сервисов, приложений и виджетов. API предоставляет данные более чем по 70 тестам, историю данных и возможность их обновления.
Стоимость получения данных из базы (данные могут быть не актуальными) — 1 лимит.
Стоимость обновления всех тестов и данных — 5 лимитов (актуально для тарифов с августа 2024 года).
Как использовать API?
ЧЧтобы получить данные по домену, сначала рекомендуется сделать запрос на статус — "Получение статуса базового анализа". Это позволит вам узнать актуальность данных по последнему обновлению отчёта. Этот запрос не имеет лимитов.
Если данные свежие, то есть были обновлены в течение последних 30 дней, просто выполните запрос на "Получение базового анализа". Если данные устарели, вы можете сразу запросить их обновление. Учтите, что процесс обновления занимает от 1 до 5 минут, но в часы пик может занять больше времени.
Проверить, обновился ли отчёт, можно также через запрос статуса. После обновления статуса и данных вы сможете получить полные данные анализа.
Как получить данные
Данные отдаются в формате JSON. Для получения данных необходимо сделать соответствующий запрос.
Получение базового анализа (GET-запрос)
https://pr-cy.ru/api/v1.1.0/analysis/base/%DOMAIN%?key=%KEY%
Получение статуса базового анализа (GET-запрос)
https://pr-cy.ru/api/v1.1.0/analysis/status/base/%DOMAIN%?key=%KEY%
Обновление базового анализа (POST запрос)
https://pr-cy.ru/api/v1.1.0/analysis/update/base/%DOMAIN%?key=%KEY%
Получение расширенного анализа (GET-запрос)
https://pr-cy.ru/api/v1.1.0/analysis/advanced/%DOMAIN%?key=%KEY%
Получение статуса расширенного анализа (GET-запрос)
https://pr-cy.ru/api/v1.1.0/analysis/status/advanced/%DOMAIN%?key=%KEY%
Обновление расширенного анализа (POST-запрос)
https://pr-cy.ru/api/v1.1.0/analysis/update/advanced/%DOMAIN%?key=%KEY%
При необходимости можно ограничить список тестов только необходимыми, а также скрыть историю результатов. Для этого следует использовать параметры в GET-запросе: tests, excludeHistory.
https://pr-cy.ru/api/v1.1.0/analysis/base/%DOMAIN%?key=%KEY%&excludeHistory=1&tests=%TESTS%
%KEY% — ваш ключ. Который можно получить в настройках.
%DOMAIN% — проверяемый домен.
%TESTS% — список тестов через запятую. Например: page404StatusCode,robotsTxt.
Playground (необходим API-ключ):
Примеры и использование
Наше API чаще всего используются студиями для быстрого анализа, мониторинга и создания отчётов.
Как можно использовать:
-
White-label анализ сайта
Полностью рабочий анализ сайта в вашем оформлении у вас на сайте.
-
Помощь для создания клиентского аудита сайта
Вы получаете все данные по сайту клиента и пишите свои тексты на каждый тест. После, аудит передаётся клиенту.
-
Массовый мониторинг
Через API вы получаете данные по списку ваших сайтов, смотрите историю и отслеживаете показания на своей стороне.
-
Другое
Различные боты для мессенджеров, виджеты, создание отчётов и другое.
Пример скрипта, для вывода нескольких тестов из анализа.
Доступные тесты:
Test | Results | Description |
|---|---|---|
adultContent | adultContentfalse | trueadultWordsnull | (found words) | Adult words on page |
analysisBotDisallowed | isDisallowedbool | The website is closed for indexing (for PR-CY BOT) |
avgVisitDuration | avgVisitDurationnumber | Traffic — Avg Visit Duration (sec) |
bounceRate | bounceRatenumber | Traffic — Bounce Rate (%) |
category | categoryTopNamestring | Category web-site |
competitors | competitorsarray: [{domain: string, visitsTotalCount: number, themeAffinity: number, affinity: number}] | Competitor websites |
countryRank | countryCodeCode countrycountryRanknumber | Rating of sites by traffic on country |
facebookSocial | coverSourcestring (url)groupNamestringlikesnumberlinkstring (url)picturestring (url) | Facebook Social Page info |
favicon | faviconSrcstring (url) | Favicon |
globalRank | globalRanknumber | Rating of sites by traffic |
googleIndex | googleIndexnumber | Google Index Page (site:) |
googleTransparencyReport | googleTransparencyReportStatussuccess | fail | Google Safe Browsing |
httpStatusCode | allStatusCodesarray redirectsfinalStatusCodenumber (final code)isCyclicRedirecttrue | false | Final Http Status Code |
indexing | isFinalStatusCodeGoodtrue | falsestatusCodenumberxRobotsTagHeaderstring | nullxRobotsTagHeaderDisallowedBotsarray | nullmetaDisallowedBotsarrayrobotsFileDisallowedSearchBotsarrayisRedirectedMetaRefreshtrue | false | Website indexing status |
interests | interestedTopicsarrayinterestedCategoriesarrayinterestedWebsitesarray | Audience interests |
ip | ipstring | Domain IP |
ipCountry | ipCountryCodestring (code) | IP Country |
ipIsp | ipIspNameISP NameipOrganizationNameOrganization Name | ISP IP |
isDataFromGa | isDataFromGatrue | false | Data sourced from Google Analytics |
keyssoBacklinks | keyssoBacklinksTotalnumberkeyssoBacklinksarray: [{sourceUrl: string, sourceDr: number, url: string, anchor: string, createdAt: date, updatedAt: date}] | Backlinks data |
keyssoConcs | keyssoConcsarray: [{name: string, cnt: number, it50: number, vis: number, perc: number}] | Organic competitors |
keyssoKeys | keyssoKeysarray | Organic keywords |
keyssoLinks | keyssoIncomingLinksnumberkeyssoOutgoingLinksnumberkeyssoReferringDomainsnumberkeyssoOutgoingDomainsnumberkeyssoLinksByIpnumber | Links summary |
keyssoPages | keyssoPagesarray | Top pages by organic traffic |
keyssoSummary | keyssoIt1numberkeyssoIt3numberkeyssoIt5numberkeyssoIt10numberkeyssoIt50numberkeyssoVisnumber | Organic search summary |
llmsTxt | llmsFileExiststrue | false | LLMs.txt file exists |
loadTime | connectionTimeouttrue | falseloadTimenumber (sec)percentnumber (Better than) | Load Time |
mainPageDescription | descriptionstringdescriptionIsGoodtrue | falsedescriptionLengthnumber | Website Meta Description |
mainPageEncoding | encodingstring | Website Encoding |
mainPageExternalLinks | externalCountnumberexternalIndexCountnumber | Website External Links (single main page) |
mainPageHeaders | headersarray: [text, type: (h1-h5)]headersAreGoodtrue | falseheadersCountarray | Website Page Headers (single main page) |
mainPageInternalLinks | internalCountnumberinternalIndexCountnumber | Website Page Internal Links (single main page) |
mainPagePageSize | pageSizenumber | Website Page Size (KB) |
mainPageSickness | sicknessnumber | Text sickness on main page |
mainPageTechs | browserTechsarray | MainPage used Techs |
mainPageTextLength | textLengthnumber | MainPage Text Length |
mainPageTitle | titlestringtitleIsGoodtrue | falsetitleLengthnumber | Main Page Meta Title |
mainPageWordsCount | wordsCountnumber | Main Page Words Count |
microdataOpenGraph | ogDescriptionstringogFoundtrue | falseogImagestringogTitlestring | Microdata Open Graph |
microdataSchemaOrg | microdataSchemaOrgExiststrue | false | Microdata Schema.Org |
page404BackLink | backLinktrue | false | 404 page backlink to homepage |
page404StatusCode | statusCodenumber | 404 page status code |
pageSpeedDesktop | cumulativeLayoutShift{category: string | null, value: number | null}firstContentfulPaint{category: string | null, value: number | null}interactionToNextPaint{category: string | null, value: number | null}largestContentfulPaint{category: string | null, value: number | null}pageSpeed{score: number, value: number}timeToFirstByte{category: string | null, value: number | null} | Google page Speed Desktop |
pageSpeedMinifyResources | pageSpeedMinifyResources{css: 'true | false', js: 'true | false'} | Google page Speed Minify Resources |
pageSpeedMobile | cumulativeLayoutShift{category: string | null, value: number | null}firstContentfulPaint{category: string | null, value: number | null}interactionToNextPaint{category: string | null, value: number | null}largestContentfulPaint{category: string | null, value: number | null}pageSpeed{score: number, value: number}timeToFirstByte{category: string | null, value: number | null} | Google page Speed Mobile |
pageSpeedUnusedCssRules | pageSpeedUnusedCssRulestrue | false | Google page Speed Unused Css Rules |
pagesPerVisit | pagesPerVisitnumber | Pages Per Visit (Traffic) |
prcyRank | prcyGradenumberprcyRankLinksFactorstringprcyRankTotalnumberprcyRankTrafficFactorstringprcyRankTrustFactorstring | PRCY Rank ("high", "medium", "low") |
publicStatistics | publicStatisticsAlexaVisitsnumberpublicStatisticsAlexaVisitsMonthlynumberpublicStatisticsLiveInternetVisitsnumberpublicStatisticsLiveInternetVisitsMonthlynumberpublicStatisticsMetrikaVisitsnumberpublicStatisticsMetrikaVisitsMonthlynumberpublicStatisticsPageViewsDailynumberpublicStatisticsPageViewsMonthlynumberpublicStatisticsPageViewsWeeklynumberpublicStatisticsPrcyDatedatepublicStatisticsPrcyVisitsnumberpublicStatisticsPrcyVisitsMonthlynumberpublicStatisticsSourceLinkstringpublicStatisticsSourceTypestringpublicStatisticsVisitsDailynumberpublicStatisticsVisitsMonthlynumberpublicStatisticsVisitsWeeklynumber | Website traffic info (deprecated) |
publicStatisticsLiveInternet | publicStatisticsLiveInternetVisitsMonthlyHistory{ days: array, weeks: array, months: object } | LiveInternet traffic statistics |
publicStatisticsMetrika | publicStatisticsMetrikaVisitsMonthlynumber | Yandex Metrika traffic statistics |
publicStatisticsPrcy | publicStatisticsPrcyVisitsDailynumberpublicStatisticsPrcyVisitsWeeklynumberpublicStatisticsPrcyPageViewsDailynumberpublicStatisticsPrcyPageViewsWeeklynumberpublicStatisticsPrcyPageViewsMonthlynumberpublicStatisticsPrcyVisitsnumberpublicStatisticsPrcyVisitsMonthlynumberpublicStatisticsPrcyDatedatepublicStatisticsPrcyVisitsHistory{ days: object, weeks: object, months: object }publicStatisticsPrcyVisitsMonthlyHistory{ days: array, weeks: array, months: object } | PR-CY traffic estimate |
robotsTxt | robotsFileExiststrue | falserobotsFileHashstringrobotsFileMainPageDisallowedRobotsarray[] | Robots.txt |
roskomnadzor | roskomnadzorDomainForbiddentrue | falseroskomnadzorIpForbiddentrue | false | Russian Federal Service for Supervision |
sameCounters | sameCountersActualFoundnumbersameCountersTotalFoundnumbersameCountersWithDomains{} | Domain with same counters |
sameIps | sameIpsTotalFoundnumbersameIpsWithDomains{ip: {dateFound: {}, dateLost: {}, linkedDomains: Array}} | Domains with same IP |
screenshotDesktop | srcstring | Screenshot Desktop |
screenshotSmartphone | srcstring | Screenshot Smartphone |
semRushDlinksDiff | semRushDlinksDiffnumber | null | Backlinks count difference (%) |
similarWebRank | similarWebGlobalRanknumbersimilarWebCountryCodestringsimilarWebCountryRanknumber | SimilarWeb Rank |
sitemap | sitemapUrlstring | Website Sitemap |
ssl | certValidTodatesslAccesstrue | false | Website SSL |
statisticsSystems | statisticsSystemsarray | Website Analytics Systems |
telegramChannels | telegramChannelsarray: [{name: string, title: string, smallPhoto: string, participantsCount: number, participantsCountDiff: number}] | Telegram channels |
trafficGeography | topCountryGeographyarray: [{countryCode: string, percent: number}] | Traffic geography by country |
trafficSources | trafficSourcesDirectnumbertrafficSourcesMailnumbertrafficSourcesReferralnumbertrafficSourcesSocialnumbertrafficSourcesOrganicSearchnumbertrafficSourcesPaidSearchnumbertrafficSourcesAdsnumber | Traffic Sources |
twitterSocial | followersnumberfollowingnumberlinkstringprofileDescriptionstringprofileImageUrlstringprofileNamestringtweetsnumber | Twitter account info |
vkontakteSocial | groupCitystringgroupCounters[market_services: number, articles: number, narratives: number]groupCountrystringgroupDescriptionstringgroupMembersCountnumbergroupNamestringgroupPhotostringgroupPhotoBigstringgroupPhotoMediumstringgroupStatusstringgroupTypestringgroupVerifiednumberlinkstring | VK.com info |
whoisCreationDate | whoisCreationDatedate | Whois Creation Date |
whoisExpirationDate | whoisExpirationDatedate | Whois Expiration Date |
wwwRedirect | wwwRedirecttrue | false | Www Redirect to without www |
yandexAchievements | yandexAchievementsOfficialtrue | falseyandexAchievementsMarketRatingnumberyandexAchievementsHttpstrue | falseyandexAchievementsTurbotrue | false | Yandex Achievements |
yandexAgs | yandexAgstrue | false | Yandex AGS filter |
yandexIndex | yandexIndexnumber | Yandex Index pages |
yandexReviews | countnumber | Yandex Reviews count |
yandexSafeBrowsing | yandexSafeBrowsingtrue | false | Yandex Safe Browsing |
yandexSqi | yandexSqinumber | Yandex Sqi |
🍪 Используя сайт, вы соглашаетесь с обработкой cookie и сбором технических данных для улучшения работы сайта согласно политике конфиденциальности.