dataforseo-client 2.1.8 → 2.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +238 -220
- package/dist/cjs/api/AiOptimizationApi.js +54 -54
- package/dist/cjs/api/AppDataApi.js +42 -42
- package/dist/cjs/api/AppendixApi.js +4 -4
- package/dist/cjs/api/BacklinksApi.js +24 -24
- package/dist/cjs/api/BusinessDataApi.js +53 -53
- package/dist/cjs/api/ContentAnalysisApi.js +11 -11
- package/dist/cjs/api/DataforseoLabsApi.d.ts +4 -0
- package/dist/cjs/api/DataforseoLabsApi.js +87 -47
- package/dist/cjs/api/DataforseoLabsApi.js.map +1 -1
- package/dist/cjs/api/DomainAnalyticsApi.js +14 -14
- package/dist/cjs/api/KeywordsDataApi.js +70 -70
- package/dist/cjs/api/MerchantApi.js +38 -38
- package/dist/cjs/api/OnPageApi.js +31 -31
- package/dist/cjs/api/SerpApi.js +176 -176
- package/dist/cjs/index.d.ts +19 -14
- package/dist/cjs/index.js +205 -195
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/AiOptimizationChatGptLlmScraperLocationsCountryResultInfo.d.ts +2 -2
- package/dist/cjs/models/AiOptimizationChatGptLlmScraperLocationsResultInfo.d.ts +2 -2
- package/dist/cjs/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.d.ts +0 -4
- package/dist/cjs/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.js +0 -2
- package/dist/cjs/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.js.map +1 -1
- package/dist/cjs/models/AiOptimizationGeminiLlmScraperLocationsResultInfo.d.ts +2 -2
- package/dist/cjs/models/BaseDataforseoLabsApiElementItem.d.ts +161 -151
- package/dist/cjs/models/BaseDataforseoLabsApiElementItem.js +124 -120
- package/dist/cjs/models/BaseDataforseoLabsApiElementItem.js.map +1 -1
- package/dist/cjs/models/BaseMerchantGoogleShoppingProductsElementItem.d.ts +4 -0
- package/dist/cjs/models/BaseMerchantGoogleShoppingProductsElementItem.js +2 -0
- package/dist/cjs/models/BaseMerchantGoogleShoppingProductsElementItem.js.map +1 -1
- package/dist/cjs/models/BaseSerpApiElementItem.d.ts +6 -6
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.d.ts +64 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.js +64 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.js.map +1 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.d.ts +42 -0
- package/dist/cjs/models/{SerpGoogleEventsLiveAdvancedRequestInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.js} +15 -23
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.js.map +1 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.d.ts +16 -0
- package/dist/cjs/models/{SerpGoogleEventsTaskPostResponseInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.js} +7 -7
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.js.map +1 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.d.ts +31 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.js +57 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.js.map +1 -0
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.d.ts +16 -0
- package/dist/cjs/models/{SerpGoogleEventsTaskGetAdvancedTaskInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.js} +7 -7
- package/dist/cjs/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.js.map +1 -0
- package/dist/cjs/models/GoogleShoppingCarouselElement.d.ts +4 -0
- package/dist/cjs/models/GoogleShoppingCarouselElement.js +2 -0
- package/dist/cjs/models/GoogleShoppingCarouselElement.js.map +1 -1
- package/dist/cjs/models/OnPageLighthouseTaskGetJsonTaskInfo.d.ts +0 -2
- package/dist/cjs/models/OnPageLighthouseTaskGetJsonTaskInfo.js.map +1 -1
- package/dist/cjs/models/RelatedResult.d.ts +4 -4
- package/dist/cjs/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.d.ts +0 -8
- package/dist/cjs/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.js +0 -4
- package/dist/cjs/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.js.map +1 -1
- package/dist/cjs/models/SerpGoogleLocalFinderTaskPostRequestInfo.d.ts +0 -8
- package/dist/cjs/models/SerpGoogleLocalFinderTaskPostRequestInfo.js +0 -4
- package/dist/cjs/models/SerpGoogleLocalFinderTaskPostRequestInfo.js.map +1 -1
- package/dist/cjs/models/TopStoriesElement.d.ts +2 -2
- package/dist/cjs/models/index.d.ts +19 -14
- package/dist/cjs/models/index.js +204 -194
- package/dist/cjs/models/index.js.map +1 -1
- package/dist/esm/api/AiOptimizationApi.js +54 -54
- package/dist/esm/api/AppDataApi.js +42 -42
- package/dist/esm/api/AppendixApi.js +4 -4
- package/dist/esm/api/BacklinksApi.js +24 -24
- package/dist/esm/api/BusinessDataApi.js +53 -53
- package/dist/esm/api/ContentAnalysisApi.js +11 -11
- package/dist/esm/api/DataforseoLabsApi.d.ts +4 -0
- package/dist/esm/api/DataforseoLabsApi.js +87 -47
- package/dist/esm/api/DataforseoLabsApi.js.map +1 -1
- package/dist/esm/api/DomainAnalyticsApi.js +14 -14
- package/dist/esm/api/KeywordsDataApi.js +70 -70
- package/dist/esm/api/MerchantApi.js +38 -38
- package/dist/esm/api/OnPageApi.js +31 -31
- package/dist/esm/api/SerpApi.js +176 -176
- package/dist/esm/index.d.ts +19 -14
- package/dist/esm/index.js +19 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/AiOptimizationChatGptLlmScraperLocationsCountryResultInfo.d.ts +2 -2
- package/dist/esm/models/AiOptimizationChatGptLlmScraperLocationsResultInfo.d.ts +2 -2
- package/dist/esm/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.d.ts +0 -4
- package/dist/esm/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.js +0 -2
- package/dist/esm/models/AiOptimizationClaudeLlmResponsesTaskGetResultInfo.js.map +1 -1
- package/dist/esm/models/AiOptimizationGeminiLlmScraperLocationsResultInfo.d.ts +2 -2
- package/dist/esm/models/BaseDataforseoLabsApiElementItem.d.ts +161 -151
- package/dist/esm/models/BaseDataforseoLabsApiElementItem.js +120 -116
- package/dist/esm/models/BaseDataforseoLabsApiElementItem.js.map +1 -1
- package/dist/esm/models/BaseMerchantGoogleShoppingProductsElementItem.d.ts +4 -0
- package/dist/esm/models/BaseMerchantGoogleShoppingProductsElementItem.js +2 -0
- package/dist/esm/models/BaseMerchantGoogleShoppingProductsElementItem.js.map +1 -1
- package/dist/esm/models/BaseSerpApiElementItem.d.ts +6 -6
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.d.ts +64 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.js +60 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveItem.js.map +1 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.d.ts +42 -0
- package/dist/esm/models/{SerpGoogleEventsLiveAdvancedRequestInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.js} +13 -21
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveRequestInfo.js.map +1 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.d.ts +16 -0
- package/dist/esm/models/{SerpGoogleEventsTaskPostResponseInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.js} +5 -5
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResponseInfo.js.map +1 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.d.ts +31 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.js +53 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveResultInfo.js.map +1 -0
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.d.ts +16 -0
- package/dist/esm/models/{SerpGoogleEventsTaskGetAdvancedTaskInfo.js → DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.js} +5 -5
- package/dist/esm/models/DataforseoLabsGoogleHistoricalSearchVolumeLiveTaskInfo.js.map +1 -0
- package/dist/esm/models/GoogleShoppingCarouselElement.d.ts +4 -0
- package/dist/esm/models/GoogleShoppingCarouselElement.js +2 -0
- package/dist/esm/models/GoogleShoppingCarouselElement.js.map +1 -1
- package/dist/esm/models/OnPageLighthouseTaskGetJsonTaskInfo.d.ts +0 -2
- package/dist/esm/models/OnPageLighthouseTaskGetJsonTaskInfo.js.map +1 -1
- package/dist/esm/models/RelatedResult.d.ts +4 -4
- package/dist/esm/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.d.ts +0 -8
- package/dist/esm/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.js +0 -4
- package/dist/esm/models/SerpGoogleLocalFinderLiveAdvancedRequestInfo.js.map +1 -1
- package/dist/esm/models/SerpGoogleLocalFinderTaskPostRequestInfo.d.ts +0 -8
- package/dist/esm/models/SerpGoogleLocalFinderTaskPostRequestInfo.js +0 -4
- package/dist/esm/models/SerpGoogleLocalFinderTaskPostRequestInfo.js.map +1 -1
- package/dist/esm/models/TopStoriesElement.d.ts +2 -2
- package/dist/esm/models/index.d.ts +19 -14
- package/dist/esm/models/index.js +19 -14
- package/dist/esm/models/index.js.map +1 -1
- package/knowledge-base/AiOptimizationApi.md +409 -0
- package/knowledge-base/AppDataApi.md +401 -0
- package/knowledge-base/AppendixApi.md +119 -0
- package/knowledge-base/BacklinksApi.md +419 -0
- package/knowledge-base/BusinessDataApi.md +376 -0
- package/knowledge-base/ContentAnalysisApi.md +391 -0
- package/knowledge-base/DataforseoLabsApi.md +409 -0
- package/knowledge-base/DomainAnalyticsApi.md +433 -0
- package/knowledge-base/KeywordsDataApi.md +381 -0
- package/knowledge-base/MerchantApi.md +360 -0
- package/knowledge-base/OnPageApi.md +389 -0
- package/knowledge-base/SerpApi.md +499 -0
- package/package.json +2 -1
- package/dist/cjs/models/AppendixAppListingsAppDataPriceData.d.ts +0 -15
- package/dist/cjs/models/AppendixAppListingsAppDataPriceData.js +0 -39
- package/dist/cjs/models/AppendixAppListingsAppDataPriceData.js.map +0 -1
- package/dist/cjs/models/AppendixBusinessDataDayLimitsRatesDataInfo.d.ts +0 -15
- package/dist/cjs/models/AppendixBusinessDataDayLimitsRatesDataInfo.js +0 -39
- package/dist/cjs/models/AppendixBusinessDataDayLimitsRatesDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixContentGenerationDayLimitsRatesDataInfo.d.ts +0 -14
- package/dist/cjs/models/AppendixContentGenerationDayLimitsRatesDataInfo.js +0 -37
- package/dist/cjs/models/AppendixContentGenerationDayLimitsRatesDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixContentGenerationLimitsRatesDataInfo.d.ts +0 -26
- package/dist/cjs/models/AppendixContentGenerationLimitsRatesDataInfo.js +0 -50
- package/dist/cjs/models/AppendixContentGenerationLimitsRatesDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixContentGenerationPriceData.d.ts +0 -26
- package/dist/cjs/models/AppendixContentGenerationPriceData.js +0 -50
- package/dist/cjs/models/AppendixContentGenerationPriceData.js.map +0 -1
- package/dist/cjs/models/AppendixContentGenerationPriceDataInfo.d.ts +0 -15
- package/dist/cjs/models/AppendixContentGenerationPriceDataInfo.js +0 -39
- package/dist/cjs/models/AppendixContentGenerationPriceDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixGoogleBusinessDataPriceDataInfo.d.ts +0 -19
- package/dist/cjs/models/AppendixGoogleBusinessDataPriceDataInfo.js +0 -43
- package/dist/cjs/models/AppendixGoogleBusinessDataPriceDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixHotelInfoGoogleBusinessDataPriceData.d.ts +0 -20
- package/dist/cjs/models/AppendixHotelInfoGoogleBusinessDataPriceData.js +0 -44
- package/dist/cjs/models/AppendixHotelInfoGoogleBusinessDataPriceData.js.map +0 -1
- package/dist/cjs/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.d.ts +0 -17
- package/dist/cjs/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.js +0 -41
- package/dist/cjs/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.js.map +0 -1
- package/dist/cjs/models/AppendixSocialMediaBusinessDataPriceData.d.ts +0 -17
- package/dist/cjs/models/AppendixSocialMediaBusinessDataPriceData.js +0 -41
- package/dist/cjs/models/AppendixSocialMediaBusinessDataPriceData.js.map +0 -1
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveRequestInfo.d.ts +0 -18
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveRequestInfo.js +0 -37
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveRequestInfo.js.map +0 -1
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResponseInfo.d.ts +0 -16
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResponseInfo.js +0 -47
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResponseInfo.js.map +0 -1
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResultInfo.d.ts +0 -22
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResultInfo.js +0 -39
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveResultInfo.js.map +0 -1
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveTaskInfo.d.ts +0 -16
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveTaskInfo.js +0 -47
- package/dist/cjs/models/BusinessDataSocialMediaPinterestLiveTaskInfo.js.map +0 -1
- package/dist/cjs/models/ContentRatingInfo.d.ts +0 -30
- package/dist/cjs/models/ContentRatingInfo.js +0 -43
- package/dist/cjs/models/ContentRatingInfo.js.map +0 -1
- package/dist/cjs/models/EventDates.d.ts +0 -22
- package/dist/cjs/models/EventDates.js +0 -39
- package/dist/cjs/models/EventDates.js.map +0 -1
- package/dist/cjs/models/EventItem.d.ts +0 -61
- package/dist/cjs/models/EventItem.js +0 -74
- package/dist/cjs/models/EventItem.js.map +0 -1
- package/dist/cjs/models/ItemsGoogleBusinessInfo.d.ts +0 -188
- package/dist/cjs/models/ItemsGoogleBusinessInfo.js +0 -148
- package/dist/cjs/models/ItemsGoogleBusinessInfo.js.map +0 -1
- package/dist/cjs/models/LocationInfo.d.ts +0 -30
- package/dist/cjs/models/LocationInfo.js +0 -43
- package/dist/cjs/models/LocationInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedRequestInfo.d.ts +0 -58
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedRequestInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResponseInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResponseInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResponseInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResultInfo.d.ts +0 -65
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResultInfo.js +0 -76
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedResultInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedTaskInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedTaskInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsLiveAdvancedTaskInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResultInfo.d.ts +0 -65
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResultInfo.js +0 -76
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedResultInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedTaskInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTaskGetAdvancedTaskInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskPostRequestInfo.d.ts +0 -74
- package/dist/cjs/models/SerpGoogleEventsTaskPostRequestInfo.js +0 -65
- package/dist/cjs/models/SerpGoogleEventsTaskPostRequestInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskPostResponseInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTaskPostResponseInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTaskPostTaskInfo.d.ts +0 -15
- package/dist/cjs/models/SerpGoogleEventsTaskPostTaskInfo.js +0 -33
- package/dist/cjs/models/SerpGoogleEventsTaskPostTaskInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResponseInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResponseInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResponseInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResultInfo.d.ts +0 -40
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResultInfo.js +0 -49
- package/dist/cjs/models/SerpGoogleEventsTasksFixedResultInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksFixedTaskInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTasksFixedTaskInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsTasksFixedTaskInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResponseInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResponseInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResponseInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResultInfo.d.ts +0 -42
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResultInfo.js +0 -49
- package/dist/cjs/models/SerpGoogleEventsTasksReadyResultInfo.js.map +0 -1
- package/dist/cjs/models/SerpGoogleEventsTasksReadyTaskInfo.d.ts +0 -16
- package/dist/cjs/models/SerpGoogleEventsTasksReadyTaskInfo.js +0 -47
- package/dist/cjs/models/SerpGoogleEventsTasksReadyTaskInfo.js.map +0 -1
- package/dist/esm/models/AppendixAppListingsAppDataPriceData.d.ts +0 -15
- package/dist/esm/models/AppendixAppListingsAppDataPriceData.js +0 -35
- package/dist/esm/models/AppendixAppListingsAppDataPriceData.js.map +0 -1
- package/dist/esm/models/AppendixBusinessDataDayLimitsRatesDataInfo.d.ts +0 -15
- package/dist/esm/models/AppendixBusinessDataDayLimitsRatesDataInfo.js +0 -35
- package/dist/esm/models/AppendixBusinessDataDayLimitsRatesDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixContentGenerationDayLimitsRatesDataInfo.d.ts +0 -14
- package/dist/esm/models/AppendixContentGenerationDayLimitsRatesDataInfo.js +0 -33
- package/dist/esm/models/AppendixContentGenerationDayLimitsRatesDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixContentGenerationLimitsRatesDataInfo.d.ts +0 -26
- package/dist/esm/models/AppendixContentGenerationLimitsRatesDataInfo.js +0 -46
- package/dist/esm/models/AppendixContentGenerationLimitsRatesDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixContentGenerationPriceData.d.ts +0 -26
- package/dist/esm/models/AppendixContentGenerationPriceData.js +0 -46
- package/dist/esm/models/AppendixContentGenerationPriceData.js.map +0 -1
- package/dist/esm/models/AppendixContentGenerationPriceDataInfo.d.ts +0 -15
- package/dist/esm/models/AppendixContentGenerationPriceDataInfo.js +0 -35
- package/dist/esm/models/AppendixContentGenerationPriceDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixGoogleBusinessDataPriceDataInfo.d.ts +0 -19
- package/dist/esm/models/AppendixGoogleBusinessDataPriceDataInfo.js +0 -39
- package/dist/esm/models/AppendixGoogleBusinessDataPriceDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixHotelInfoGoogleBusinessDataPriceData.d.ts +0 -20
- package/dist/esm/models/AppendixHotelInfoGoogleBusinessDataPriceData.js +0 -40
- package/dist/esm/models/AppendixHotelInfoGoogleBusinessDataPriceData.js.map +0 -1
- package/dist/esm/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.d.ts +0 -17
- package/dist/esm/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.js +0 -37
- package/dist/esm/models/AppendixSocialMediaBusinessDataLimitsRatesDataInfo.js.map +0 -1
- package/dist/esm/models/AppendixSocialMediaBusinessDataPriceData.d.ts +0 -17
- package/dist/esm/models/AppendixSocialMediaBusinessDataPriceData.js +0 -37
- package/dist/esm/models/AppendixSocialMediaBusinessDataPriceData.js.map +0 -1
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveRequestInfo.d.ts +0 -18
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveRequestInfo.js +0 -33
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveRequestInfo.js.map +0 -1
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResponseInfo.d.ts +0 -16
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResponseInfo.js +0 -43
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResponseInfo.js.map +0 -1
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResultInfo.d.ts +0 -22
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResultInfo.js +0 -35
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveResultInfo.js.map +0 -1
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveTaskInfo.d.ts +0 -16
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveTaskInfo.js +0 -43
- package/dist/esm/models/BusinessDataSocialMediaPinterestLiveTaskInfo.js.map +0 -1
- package/dist/esm/models/ContentRatingInfo.d.ts +0 -30
- package/dist/esm/models/ContentRatingInfo.js +0 -39
- package/dist/esm/models/ContentRatingInfo.js.map +0 -1
- package/dist/esm/models/EventDates.d.ts +0 -22
- package/dist/esm/models/EventDates.js +0 -35
- package/dist/esm/models/EventDates.js.map +0 -1
- package/dist/esm/models/EventItem.d.ts +0 -61
- package/dist/esm/models/EventItem.js +0 -70
- package/dist/esm/models/EventItem.js.map +0 -1
- package/dist/esm/models/ItemsGoogleBusinessInfo.d.ts +0 -188
- package/dist/esm/models/ItemsGoogleBusinessInfo.js +0 -144
- package/dist/esm/models/ItemsGoogleBusinessInfo.js.map +0 -1
- package/dist/esm/models/LocationInfo.d.ts +0 -30
- package/dist/esm/models/LocationInfo.js +0 -39
- package/dist/esm/models/LocationInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedRequestInfo.d.ts +0 -58
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedRequestInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResponseInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResponseInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResponseInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResultInfo.d.ts +0 -65
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResultInfo.js +0 -72
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedResultInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedTaskInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedTaskInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsLiveAdvancedTaskInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResponseInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResultInfo.d.ts +0 -65
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResultInfo.js +0 -72
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedResultInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedTaskInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTaskGetAdvancedTaskInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskPostRequestInfo.d.ts +0 -74
- package/dist/esm/models/SerpGoogleEventsTaskPostRequestInfo.js +0 -61
- package/dist/esm/models/SerpGoogleEventsTaskPostRequestInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskPostResponseInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTaskPostResponseInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTaskPostTaskInfo.d.ts +0 -15
- package/dist/esm/models/SerpGoogleEventsTaskPostTaskInfo.js +0 -29
- package/dist/esm/models/SerpGoogleEventsTaskPostTaskInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksFixedResponseInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTasksFixedResponseInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsTasksFixedResponseInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksFixedResultInfo.d.ts +0 -40
- package/dist/esm/models/SerpGoogleEventsTasksFixedResultInfo.js +0 -45
- package/dist/esm/models/SerpGoogleEventsTasksFixedResultInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksFixedTaskInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTasksFixedTaskInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsTasksFixedTaskInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksReadyResponseInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTasksReadyResponseInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsTasksReadyResponseInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksReadyResultInfo.d.ts +0 -42
- package/dist/esm/models/SerpGoogleEventsTasksReadyResultInfo.js +0 -45
- package/dist/esm/models/SerpGoogleEventsTasksReadyResultInfo.js.map +0 -1
- package/dist/esm/models/SerpGoogleEventsTasksReadyTaskInfo.d.ts +0 -16
- package/dist/esm/models/SerpGoogleEventsTasksReadyTaskInfo.js +0 -43
- package/dist/esm/models/SerpGoogleEventsTasksReadyTaskInfo.js.map +0 -1
package/SKILL.md
CHANGED
|
@@ -1,220 +1,238 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dataforseo-typescript-client
|
|
3
|
-
description: Use the DataForSEO TypeScript client (npm package dataforseo-client) to call DataForSEO API v3 (SERP, Keywords Data, DataForSEO Labs, Backlinks, OnPage, AI Optimization, etc.). Read this before exploring the code; it explains the layout, naming rules and how to find an endpoint without reading the huge generated files.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# DataForSEO TypeScript client
|
|
7
|
-
|
|
8
|
-
Generated, typed TypeScript client for DataForSEO API v3.
|
|
9
|
-
Every API endpoint is one method returning a Promise; every request/response body is one class.
|
|
10
|
-
|
|
11
|
-
- Package: `npm install dataforseo-client` (ESM and CommonJS builds)
|
|
12
|
-
- Imports: `import * as client from "dataforseo-client"` (also subpaths `dataforseo-client/api`, `dataforseo-client/models`)
|
|
13
|
-
- HTTP: any `fetch` implementation (browser, Node 18+ global `fetch`, `node-fetch`, ...)
|
|
14
|
-
- Base URL: `https://api.dataforseo.com` (sandbox with free dummy data: `https://sandbox.dataforseo.com`)
|
|
15
|
-
- Auth: HTTP Basic with the DataForSEO API login and password (not the dashboard password), added by your own `fetch` wrapper (see Setup)
|
|
16
|
-
|
|
17
|
-
## Do not read generated code in full
|
|
18
|
-
|
|
19
|
-
The client is generated from an OpenAPI spec and is very large (thousands of model files, `api/*Api.ts` files of several hundred KB). Never open files whole. Derive names with the rules below and use targeted search (grep) only to confirm them.
|
|
20
|
-
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
import * as client from
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
let
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
1
|
+
---
|
|
2
|
+
name: dataforseo-typescript-client
|
|
3
|
+
description: Use the DataForSEO TypeScript client (npm package dataforseo-client) to call DataForSEO API v3 (SERP, Keywords Data, DataForSEO Labs, Backlinks, OnPage, AI Optimization, etc.). Read this before exploring the code; it explains the layout, naming rules and how to find an endpoint without reading the huge generated files.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DataForSEO TypeScript client
|
|
7
|
+
|
|
8
|
+
Generated, typed TypeScript client for DataForSEO API v3.
|
|
9
|
+
Every API endpoint is one method returning a Promise; every request/response body is one class.
|
|
10
|
+
|
|
11
|
+
- Package: `npm install dataforseo-client` (ESM and CommonJS builds)
|
|
12
|
+
- Imports: `import * as client from "dataforseo-client"` (also subpaths `dataforseo-client/api`, `dataforseo-client/models`)
|
|
13
|
+
- HTTP: any `fetch` implementation (browser, Node 18+ global `fetch`, `node-fetch`, ...)
|
|
14
|
+
- Base URL: `https://api.dataforseo.com` (sandbox with free dummy data: `https://sandbox.dataforseo.com`)
|
|
15
|
+
- Auth: HTTP Basic with the DataForSEO API login and password (not the dashboard password), added by your own `fetch` wrapper (see Setup)
|
|
16
|
+
|
|
17
|
+
## Do not read generated code in full
|
|
18
|
+
|
|
19
|
+
The client is generated from an OpenAPI spec and is very large (thousands of model files, `api/*Api.ts` files of several hundred KB). Never open files whole. Derive names with the rules below and use targeted search (grep) only to confirm them.
|
|
20
|
+
|
|
21
|
+
## Knowledge base: start here
|
|
22
|
+
|
|
23
|
+
`knowledge-base/` (next to this file) has one Markdown file per API section, i.e. per API class. Each file explains what data the section provides and when to use another section instead, gives ready-to-run examples and lists every endpoint with its method name. Open only the file of the section you need: it is much cheaper than searching the generated code.
|
|
24
|
+
|
|
25
|
+
| API class | Use it for |
|
|
26
|
+
|---|---|
|
|
27
|
+
| [`SerpApi`](knowledge-base/SerpApi.md) | Search engine results pages (SERP) collected on request: what a search engine shows for a query in a given location, language and device, from engines such as Google, Bing, YouTube, Yahoo and others, including search verticals such as maps, news, images, jobs and AI search modes. |
|
|
28
|
+
| [`DataforseoLabsApi`](knowledge-base/DataforseoLabsApi.md) | Keyword research, competitor analysis and search analytics from DataForSEO's own databases of keywords, search results and rankings, for search engines and platforms such as Google, Amazon, Google Play and the App Store. |
|
|
29
|
+
| [`DomainAnalyticsApi`](knowledge-base/DomainAnalyticsApi.md) | Information about websites as such: the technologies a site is built with (CMS, analytics, frameworks, advertising and other tools), which sites use a given technology, statistics of technology usage, and domain registration (Whois) data enriched with search and backlink metrics. |
|
|
30
|
+
| [`KeywordsDataApi`](knowledge-base/KeywordsDataApi.md) | Keyword metrics from advertising platforms and trend services: search volume, cost per click, competition and their monthly dynamics, keyword ideas, ad traffic forecasts and keyword popularity trends, from sources such as Google Ads, Bing Ads, Google Trends, DataForSEO Trends and clickstream data. |
|
|
31
|
+
| [`BacklinksApi`](knowledge-base/BacklinksApi.md) | Backlink data for any domain, subdomain or web page from DataForSEO's continuously updated link index: inbound links, referring domains, pages and networks, anchor texts, link-based authority (rank) and spam score, how the link profile changes over time, and how it compares with other sites. |
|
|
32
|
+
| [`AiOptimizationApi`](knowledge-base/AiOptimizationApi.md) | Data for AI search optimization (GEO): answers of large language models such as ChatGPT, Claude, Gemini and Perplexity to your prompts, results scraped from the web interfaces of AI assistants, search volume of keywords in AI tools, and how often brands, domains and pages are mentioned in AI-generated answers. |
|
|
33
|
+
| [`OnPageApi`](knowledge-base/OnPageApi.md) | Technical SEO audit of websites with a configurable crawler: crawl a site and get per-page checks, resources, internal and external links, duplicates, redirects, indexability issues, keyword density and page speed data; or analyze individual pages instantly, extract their content, take screenshots and run Google Lighthouse. |
|
|
34
|
+
| [`ContentAnalysisApi`](knowledge-base/ContentAnalysisApi.md) | Brand monitoring and sentiment analysis across the web: pages that mention (cite) a keyword or brand, with the sentiment polarity and emotional connotations of each mention, content ratings and categories, and aggregated trends of mentions over time. |
|
|
35
|
+
| [`MerchantApi`](knowledge-base/MerchantApi.md) | E-commerce data from marketplaces and shopping search engines such as Amazon and Google Shopping: product listings for a search query, product details, product variations, sellers and their offers, with prices, ratings, reviews count and paid placements. |
|
|
36
|
+
| [`AppDataApi`](knowledge-base/AppDataApi.md) | Mobile application data from app stores such as Google Play and the App Store: app search results, top charts and collections, detailed app information and user reviews, plus a searchable database of app listings. |
|
|
37
|
+
| [`BusinessDataApi`](knowledge-base/BusinessDataApi.md) | Publicly available data about businesses and local places: business profiles, reviews, questions and answers, hotel data and a database of business listings, from sources such as Google, Trustpilot and Tripadvisor. |
|
|
38
|
+
| [`AppendixApi`](knowledge-base/AppendixApi.md) | Account and service information that applies to the whole DataForSEO API rather than to a data source: account balance, spending, limits and prices, the current status of the APIs, the list of error codes, and re-sending webhooks (pingbacks and postbacks) of completed tasks. |
|
|
39
|
+
|
|
40
|
+
## Layout
|
|
41
|
+
|
|
42
|
+
Source code (git repository):
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
src/index.ts re-exports every API class and model
|
|
46
|
+
src/api/<Section>Api.ts one class per API section, one method per endpoint
|
|
47
|
+
src/models/<ClassName>.ts one model class + I<ClassName> interface per file
|
|
48
|
+
src/models/Base*Item.ts polymorphic base class AND all its subclasses in one file
|
|
49
|
+
knowledge-base/<Section>Api.md per-section guide with examples (see above)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
npm package (`node_modules/dataforseo-client/`): `README.md`, `SKILL.md`, `knowledge-base/`, `package.json` and the compiled builds `dist/esm/` and `dist/cjs/` with the same `api/` and `models/` structure. Search the `.d.ts` files there: they contain all signatures and the JSDoc descriptions of model fields.
|
|
53
|
+
|
|
54
|
+
## Naming rules (derive names instead of searching)
|
|
55
|
+
|
|
56
|
+
Endpoint path `/v3/<section>/<rest>` maps to:
|
|
57
|
+
|
|
58
|
+
| What | Rule | Example for `/v3/serp/google/organic/live/advanced` |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| API class | `<Section>Api` | `SerpApi` |
|
|
61
|
+
| Method | camelCase of `<rest>` (usually) | `googleOrganicLiveAdvanced` |
|
|
62
|
+
| Request model | `<Section><Rest>RequestInfo` | `SerpGoogleOrganicLiveAdvancedRequestInfo` |
|
|
63
|
+
| Response model | `<Section><Rest>ResponseInfo` | `SerpGoogleOrganicLiveAdvancedResponseInfo` |
|
|
64
|
+
| Task item | `<Section><Rest>TaskInfo` | `SerpGoogleOrganicLiveAdvancedTaskInfo` |
|
|
65
|
+
| Result item | `<Section><Rest>ResultInfo` | `SerpGoogleOrganicLiveAdvancedResultInfo` |
|
|
66
|
+
|
|
67
|
+
Model names follow the rule strictly. Method names sometimes keep the section prefix (e.g. `dataforseoLabsIdList`), so confirm the method by its response model (the match without the `process` prefix is the public method):
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
grep -n "Promise<SerpGoogleOrganicLiveAdvancedResponseInfo | null>" src/api/SerpApi.ts # source
|
|
71
|
+
grep -n "Promise<SerpGoogleOrganicLiveAdvancedResponseInfo | null>" dist/esm/api/SerpApi.d.ts # npm package
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Model fields keep the API's snake_case names (`location_code`, `status_code`, `rank_absolute`). Their descriptions (required/optional, allowed values, limits) are JSDoc comments in `models/<ClassName>.ts` / `.d.ts`; grep the field you need instead of reading the file:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
grep -n -B 3 "location_code?:" dist/esm/models/SerpGoogleOrganicLiveAdvancedRequestInfo.d.ts
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Method shapes
|
|
81
|
+
|
|
82
|
+
- `POST` endpoints: `x(body: XRequestInfo[]): Promise<XResponseInfo | null>`, the body is always an array of tasks.
|
|
83
|
+
- `GET` endpoints: `x(): Promise<XResponseInfo | null>` or `x(id: string)` (task id for `taskGet*`, `country` for locations etc.).
|
|
84
|
+
|
|
85
|
+
## Setup
|
|
86
|
+
|
|
87
|
+
The API classes have no built-in auth and default to `window.fetch`. In Node (no `window`) you must pass a `fetch`; pass one that adds the Basic auth header:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import * as client from "dataforseo-client";
|
|
91
|
+
|
|
92
|
+
function createAuthenticatedFetch(username: string, password: string) {
|
|
93
|
+
const token = Buffer.from(`${username}:${password}`).toString("base64"); // btoa(...) in browsers
|
|
94
|
+
return (url: RequestInfo, init?: RequestInit): Promise<Response> =>
|
|
95
|
+
fetch(url, { ...init, headers: { ...init?.headers, Authorization: `Basic ${token}` } });
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const http = { fetch: createAuthenticatedFetch("API_LOGIN", "API_PASSWORD") };
|
|
99
|
+
const serpApi = new client.SerpApi("https://api.dataforseo.com", http);
|
|
100
|
+
// sandbox: new client.SerpApi("https://sandbox.dataforseo.com", http)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Create one `http` object and reuse it for all section classes.
|
|
104
|
+
|
|
105
|
+
## Live request (result in the same call)
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
import * as client from 'dataforseo-client'
|
|
109
|
+
|
|
110
|
+
async function main() {
|
|
111
|
+
|
|
112
|
+
const username = 'username';
|
|
113
|
+
const password = 'password';
|
|
114
|
+
|
|
115
|
+
const authFetch = createAuthenticatedFetch(username, password);
|
|
116
|
+
let serpApi = new client.SerpApi("https://api.dataforseo.com", { fetch: authFetch });
|
|
117
|
+
|
|
118
|
+
let task = new client.SerpGoogleOrganicLiveAdvancedRequestInfo();
|
|
119
|
+
task.location_code = 2840;
|
|
120
|
+
task.language_code = "en";
|
|
121
|
+
task.keyword = "albert einstein"
|
|
122
|
+
|
|
123
|
+
let resp = await serpApi.googleOrganicLiveAdvanced([task]);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function createAuthenticatedFetch(username: string, password: string) {
|
|
127
|
+
return (url: RequestInfo, init?: RequestInit): Promise<Response> => {
|
|
128
|
+
const token = btoa(`${username}:${password}`);
|
|
129
|
+
const authHeader = { 'Authorization': `Basic ${token}` };
|
|
130
|
+
|
|
131
|
+
const newInit: RequestInit = {
|
|
132
|
+
...init,
|
|
133
|
+
headers: {
|
|
134
|
+
...init?.headers,
|
|
135
|
+
...authHeader
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
return fetch(url, newInit);
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
main();
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Task-based request (post -> wait -> get)
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import * as client from 'dataforseo-client'
|
|
150
|
+
|
|
151
|
+
async function main() {
|
|
152
|
+
|
|
153
|
+
const username = 'username';
|
|
154
|
+
const password = 'password';
|
|
155
|
+
|
|
156
|
+
const authFetch = createAuthenticatedFetch(username, password);
|
|
157
|
+
let serpApi = new client.SerpApi("https://api.dataforseo.com", { fetch: authFetch });
|
|
158
|
+
|
|
159
|
+
let task = new client.SerpGoogleOrganicTaskPostRequestInfo();
|
|
160
|
+
task.location_code = 2840;
|
|
161
|
+
task.language_code = "en";
|
|
162
|
+
task.keyword = "albert einstein"
|
|
163
|
+
|
|
164
|
+
let taskResponse = await serpApi.googleOrganicTaskPost([task])
|
|
165
|
+
|
|
166
|
+
let taskID = taskResponse!.tasks![0].id!;
|
|
167
|
+
const startTime = Date.now();
|
|
168
|
+
|
|
169
|
+
while (!await isReady(serpApi, taskID) && Date.now() - startTime < 60000) {
|
|
170
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
let resp = await serpApi.googleOrganicTaskGetAdvanced(taskID);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async function isReady(serpApi: client.SerpApi, id: string): Promise<boolean> {
|
|
177
|
+
let resp = await serpApi.googleOrganicTasksReady();
|
|
178
|
+
|
|
179
|
+
return resp?.tasks?.some(x => x.result?.some(r => r.id == id) ?? false) ?? false;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function createAuthenticatedFetch(username: string, password: string) {
|
|
183
|
+
return (url: RequestInfo, init?: RequestInit): Promise<Response> => {
|
|
184
|
+
const token = btoa(`${username}:${password}`);
|
|
185
|
+
const authHeader = { 'Authorization': `Basic ${token}` };
|
|
186
|
+
|
|
187
|
+
const newInit: RequestInit = {
|
|
188
|
+
...init,
|
|
189
|
+
headers: {
|
|
190
|
+
...init?.headers,
|
|
191
|
+
...authHeader
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
return fetch(url, newInit);
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
main();
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Instead of polling you can set `postback_url` / `pingback_url` in the task request.
|
|
203
|
+
|
|
204
|
+
## Response envelope (same for every endpoint)
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
XResponseInfo
|
|
208
|
+
version, status_code, status_message, time, cost, tasks_count, tasks_error
|
|
209
|
+
tasks: XTaskInfo[]
|
|
210
|
+
XTaskInfo
|
|
211
|
+
id, status_code, status_message, time, cost, result_count, path, data (echo of the request)
|
|
212
|
+
result: XResultInfo[] // endpoint specific payload, often with items
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
- `status_code === 20000` means OK (both top-level and per task); `20100` = task created; `4xxxx`/`5xxxx` = errors. Always check the per-task `status_code`: the HTTP status is usually 200 even when a task failed.
|
|
216
|
+
- All fields are optional; use `?.` / `?? []`.
|
|
217
|
+
- Models: `new X(data)` copies fields from a plain object, `X.fromJS(json)` builds from parsed JSON, `x.toJSON()` serializes.
|
|
218
|
+
|
|
219
|
+
## Polymorphic items
|
|
220
|
+
|
|
221
|
+
Arrays like `items` are typed as a base class (e.g. `BaseSerpApiElementItem`) and instantiated as concrete subclasses by the JSON `type` field (`organic` -> `OrganicSerpElementItem`, `paid` -> `PaidSerpElementItem`, `featured_snippet` -> `FeaturedSnippetSerpElementItem`, ...). Narrow with `instanceof`. All subclasses are defined in the base class file (`src/models/BaseSerpApiElementItem.ts`) and exported from the package root; grep for `data["type"] === "` there to see the mapping.
|
|
222
|
+
|
|
223
|
+
## Errors
|
|
224
|
+
|
|
225
|
+
Non-200/204 HTTP responses reject with an `ApiException`-like object: `{ message, status, response (raw body), headers, isApiException: true }`. `ApiException` itself is not exported from the package entry, so detect it with `(err as any)?.isApiException === true`.
|
|
226
|
+
|
|
227
|
+
## Useful facts
|
|
228
|
+
|
|
229
|
+
- Location / language codes: `location_code: 2840` (United States), `language_code: "en"`. Full lists come from endpoints like `serpApi.googleLocations()` / `googleLanguages()` (and similar per section).
|
|
230
|
+
- Most Live endpoints accept one task per request; Task POST endpoints accept many tasks (up to 100) in one call.
|
|
231
|
+
- `taskGet*` has several variants (`Regular`, `Advanced`, `Html`); use the one matching the data you need.
|
|
232
|
+
- Field semantics, allowed values and limits: JSDoc comments of the request model fields (they come from the official API docs).
|
|
233
|
+
|
|
234
|
+
## External documentation (last resort)
|
|
235
|
+
|
|
236
|
+
Use https://dataforseo.com/llms.txt only when this file, the knowledge base or generated code do not answer the question (for example pricing, account limits or endpoint behaviour that is not described locally). Everything needed to write client code is already in this library.
|
|
237
|
+
|
|
238
|
+
`llms.txt` is a large (~200 KB) index of links to per-endpoint Markdown pages (`https://docs.dataforseo.com/v3/...md`). Do not read it whole: search it for the endpoint path or name and fetch only the linked page.
|