dataforseo-client 1.0.17 → 1.0.18

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.
Files changed (5) hide show
  1. package/main.d.ts +852 -160
  2. package/main.js +650 -169
  3. package/main.js.map +1 -1
  4. package/main.ts +1444 -296
  5. package/package.json +1 -1
package/main.ts CHANGED
@@ -8981,6 +8981,44 @@ export class KeywordsDataApi {
8981
8981
  return Promise.resolve<KeywordsDataGoogleAdsLocationsResponseInfo | null>(null as any);
8982
8982
  }
8983
8983
 
8984
+ /**
8985
+ * @param country (optional)
8986
+ * @return Successful operation
8987
+ */
8988
+ keywordsDataGoogleAdsLocationsCountry(country: any | undefined): Promise<KeywordsDataGoogleAdsLocationsCountryResponseInfo | null> {
8989
+ let url_ = this.baseUrl + "/v3/keywords_data/google_ads/locations/{country}";
8990
+ url_ = url_.replace(/[?&]$/, "");
8991
+
8992
+ let options_: RequestInit = {
8993
+ method: "GET",
8994
+ headers: {
8995
+ "Accept": "application/json"
8996
+ }
8997
+ };
8998
+
8999
+ return this.http.fetch(url_, options_).then((_response: Response) => {
9000
+ return this.processKeywordsDataGoogleAdsLocationsCountry(_response);
9001
+ });
9002
+ }
9003
+
9004
+ protected processKeywordsDataGoogleAdsLocationsCountry(response: Response): Promise<KeywordsDataGoogleAdsLocationsCountryResponseInfo | null> {
9005
+ const status = response.status;
9006
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
9007
+ if (status === 200) {
9008
+ return response.text().then((_responseText) => {
9009
+ let result200: any = null;
9010
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
9011
+ result200 = resultData200 ? KeywordsDataGoogleAdsLocationsCountryResponseInfo.fromJS(resultData200) : <any>null;
9012
+ return result200;
9013
+ });
9014
+ } else if (status !== 200 && status !== 204) {
9015
+ return response.text().then((_responseText) => {
9016
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
9017
+ });
9018
+ }
9019
+ return Promise.resolve<KeywordsDataGoogleAdsLocationsCountryResponseInfo | null>(null as any);
9020
+ }
9021
+
8984
9022
  /**
8985
9023
  * @return Successful operation
8986
9024
  */
@@ -29333,6 +29371,8 @@ example:
29333
29371
  timestamp?: string | undefined;
29334
29372
  /** URL */
29335
29373
  url?: string | undefined;
29374
+ /** URL of the image */
29375
+ image_url?: string | undefined;
29336
29376
 
29337
29377
  [key: string]: any;
29338
29378
 
@@ -29359,6 +29399,7 @@ example:
29359
29399
  this.amp_version = _data["amp_version"];
29360
29400
  this.timestamp = _data["timestamp"];
29361
29401
  this.url = _data["url"];
29402
+ this.image_url = _data["image_url"];
29362
29403
  }
29363
29404
  }
29364
29405
 
@@ -29383,6 +29424,7 @@ example:
29383
29424
  data["amp_version"] = this.amp_version;
29384
29425
  data["timestamp"] = this.timestamp;
29385
29426
  data["url"] = this.url;
29427
+ data["image_url"] = this.image_url;
29386
29428
  return data;
29387
29429
  }
29388
29430
  }
@@ -29409,6 +29451,8 @@ example:
29409
29451
  timestamp?: string | undefined;
29410
29452
  /** URL */
29411
29453
  url?: string | undefined;
29454
+ /** URL of the image */
29455
+ image_url?: string | undefined;
29412
29456
 
29413
29457
  [key: string]: any;
29414
29458
  }
@@ -37379,6 +37423,108 @@ equals null if calculate_rectangles in the POST request is not set to true */
37379
37423
  [key: string]: any;
37380
37424
  }
37381
37425
 
37426
+ export class CoursesElement implements ICoursesElement {
37427
+ /** type of element */
37428
+ type?: string | undefined;
37429
+ /** title of a given link element */
37430
+ title?: string | undefined;
37431
+ /** URL */
37432
+ url?: string | undefined;
37433
+ /** website domain */
37434
+ domain?: string | undefined;
37435
+ /** source of the element
37436
+ indicates the source of information included in the top_stories_element */
37437
+ source?: string | undefined;
37438
+ /** description */
37439
+ description?: string | undefined;
37440
+ /** the date when the page source of the element was published */
37441
+ date?: string | undefined;
37442
+ /** URL of the image */
37443
+ image_url?: string | undefined;
37444
+ /** the item’s rating
37445
+ the popularity rate based on reviews and displayed in SERP */
37446
+ rating?: RatingInfo | undefined;
37447
+
37448
+ [key: string]: any;
37449
+
37450
+ constructor(data?: ICoursesElement) {
37451
+ if (data) {
37452
+ for (var property in data) {
37453
+ if (data.hasOwnProperty(property))
37454
+ (<any>this)[property] = (<any>data)[property];
37455
+ }
37456
+ }
37457
+ }
37458
+
37459
+ init(_data?: any) {
37460
+ if (_data) {
37461
+ for (var property in _data) {
37462
+ if (_data.hasOwnProperty(property))
37463
+ this[property] = _data[property];
37464
+ }
37465
+ this.type = _data["type"];
37466
+ this.title = _data["title"];
37467
+ this.url = _data["url"];
37468
+ this.domain = _data["domain"];
37469
+ this.source = _data["source"];
37470
+ this.description = _data["description"];
37471
+ this.date = _data["date"];
37472
+ this.image_url = _data["image_url"];
37473
+ this.rating = _data["rating"] ? RatingInfo.fromJS(_data["rating"]) : <any>undefined;
37474
+ }
37475
+ }
37476
+
37477
+ static fromJS(data: any): CoursesElement {
37478
+ data = typeof data === 'object' ? data : {};
37479
+ let result = new CoursesElement();
37480
+ result.init(data);
37481
+ return result;
37482
+ }
37483
+
37484
+ toJSON(data?: any) {
37485
+ data = typeof data === 'object' ? data : {};
37486
+ for (var property in this) {
37487
+ if (this.hasOwnProperty(property))
37488
+ data[property] = this[property];
37489
+ }
37490
+ data["type"] = this.type;
37491
+ data["title"] = this.title;
37492
+ data["url"] = this.url;
37493
+ data["domain"] = this.domain;
37494
+ data["source"] = this.source;
37495
+ data["description"] = this.description;
37496
+ data["date"] = this.date;
37497
+ data["image_url"] = this.image_url;
37498
+ data["rating"] = this.rating ? this.rating.toJSON() : <any>undefined;
37499
+ return data;
37500
+ }
37501
+ }
37502
+
37503
+ export interface ICoursesElement {
37504
+ /** type of element */
37505
+ type?: string | undefined;
37506
+ /** title of a given link element */
37507
+ title?: string | undefined;
37508
+ /** URL */
37509
+ url?: string | undefined;
37510
+ /** website domain */
37511
+ domain?: string | undefined;
37512
+ /** source of the element
37513
+ indicates the source of information included in the top_stories_element */
37514
+ source?: string | undefined;
37515
+ /** description */
37516
+ description?: string | undefined;
37517
+ /** the date when the page source of the element was published */
37518
+ date?: string | undefined;
37519
+ /** URL of the image */
37520
+ image_url?: string | undefined;
37521
+ /** the item’s rating
37522
+ the popularity rate based on reviews and displayed in SERP */
37523
+ rating?: RatingInfo | undefined;
37524
+
37525
+ [key: string]: any;
37526
+ }
37527
+
37382
37528
  export class SerpGoogleOrganicTaskGetAdvancedResultInfo implements ISerpGoogleOrganicTaskGetAdvancedResultInfo {
37383
37529
  /** keyword received in a POST array
37384
37530
  the keyword is returned with decoded %## (plus symbol ‘+’ will be decoded to a space character) */
@@ -76297,18 +76443,21 @@ default value:
76297
76443
  optional field
76298
76444
  you can use this field to limit the number of items with identical "group" in the results
76299
76445
  default value: 5
76446
+ minimum value: 1
76300
76447
  maximum value: 10000 */
76301
76448
  internal_groups_list_limit?: number | undefined;
76302
76449
  /** maximum number of returned technology categories within the same group
76303
76450
  optional field
76304
76451
  you can use this field to limit the number of items with identical "category" in the results
76305
76452
  default value: 5
76453
+ minimum value: 1
76306
76454
  maximum value: 10000 */
76307
76455
  internal_categories_list_limit?: number | undefined;
76308
76456
  /** maximum number of returned technologies within the same category
76309
76457
  optional field
76310
76458
  you can use this field to limit the number of items with identical "technology" in the results
76311
76459
  default value: 10
76460
+ minimum value: 1
76312
76461
  maximum value: 10000 */
76313
76462
  internal_technologies_list_limit?: number | undefined;
76314
76463
  /** maximum number of items with identical "category", "group", and "technology"
@@ -76316,6 +76465,7 @@ optional field
76316
76465
  if you use this field, the values specified in internal_groups_list_limit, internal_categories_list_limit and internal_technologies_list_limit will be ignored;
76317
76466
  you can use this field to limit the number of items with identical "category", "group", or "technology"
76318
76467
  default value: 10
76468
+ minimum value: 1
76319
76469
  maximum value: 10000 */
76320
76470
  internal_list_limit?: number | undefined;
76321
76471
  /** the maximum number of returned technologies
@@ -76487,18 +76637,21 @@ default value:
76487
76637
  optional field
76488
76638
  you can use this field to limit the number of items with identical "group" in the results
76489
76639
  default value: 5
76640
+ minimum value: 1
76490
76641
  maximum value: 10000 */
76491
76642
  internal_groups_list_limit?: number | undefined;
76492
76643
  /** maximum number of returned technology categories within the same group
76493
76644
  optional field
76494
76645
  you can use this field to limit the number of items with identical "category" in the results
76495
76646
  default value: 5
76647
+ minimum value: 1
76496
76648
  maximum value: 10000 */
76497
76649
  internal_categories_list_limit?: number | undefined;
76498
76650
  /** maximum number of returned technologies within the same category
76499
76651
  optional field
76500
76652
  you can use this field to limit the number of items with identical "technology" in the results
76501
76653
  default value: 10
76654
+ minimum value: 1
76502
76655
  maximum value: 10000 */
76503
76656
  internal_technologies_list_limit?: number | undefined;
76504
76657
  /** maximum number of items with identical "category", "group", and "technology"
@@ -76506,6 +76659,7 @@ optional field
76506
76659
  if you use this field, the values specified in internal_groups_list_limit, internal_categories_list_limit and internal_technologies_list_limit will be ignored;
76507
76660
  you can use this field to limit the number of items with identical "category", "group", or "technology"
76508
76661
  default value: 10
76662
+ minimum value: 1
76509
76663
  maximum value: 10000 */
76510
76664
  internal_list_limit?: number | undefined;
76511
76665
  /** the maximum number of returned technologies
@@ -76820,29 +76974,30 @@ example:
76820
76974
  [{"path": "content.cms","name": "wordpress"}, {"path": "marketing.crm","name": "salesforce"}] */
76821
76975
  technology_paths?: string[] | undefined;
76822
76976
  /** ids of the target technology groups
76823
- required field if you don’t specify technologies, technology_paths or categories
76977
+ required field if you don’t specify technologies, technology_paths, categories, or keywords
76824
76978
  you can find the full list of technology group ids on this page
76825
76979
  note: you can specify up to 10 technology groups in this array
76826
76980
  example:
76827
76981
  ["sales", "marketing"] */
76828
76982
  groups?: string[] | undefined;
76829
76983
  /** ids of the target technology categories
76830
- required field if you don’t specify groups, technology_paths or technologies
76984
+ required field if you don’t specify groups, technology_paths, technologies, or keywords
76831
76985
  you can find the full list of technology category ids on this page
76832
76986
  note: you can specify up to 10 technology categories in this array
76833
76987
  example:
76834
76988
  ["payment_processors","crm"] */
76835
76989
  categories?: string[] | undefined;
76836
76990
  /** target technologies
76837
- required field if you don’t specify groups, technology_paths or categories
76991
+ required field if you don’t specify groups, technology_paths, categories, or keywords
76838
76992
  you can find the full list of technologies you can specify here on this page
76839
76993
  note: you can specify up to 10 technologies in this array
76840
76994
  example:
76841
76995
  ["Google Pay","Salesforce"] */
76842
76996
  technologies?: string[] | undefined;
76843
76997
  /** target keywords in the domain’s title, description or meta keywords
76844
- optional field
76845
- UTF-8 encoding
76998
+ required field if you don’t specify groups, technology_paths, categories, or technologies
76999
+ you can specify the maximum of 10 keywords;
77000
+ UTF-8 encoding;
76846
77001
  example:
76847
77002
  ["seo","software"] */
76848
77003
  keywords?: string[] | undefined;
@@ -76872,6 +77027,7 @@ optional field
76872
77027
  you can use this field to limit the number of elements within the following arrays:
76873
77028
  countries, languages, content_languages, keywords
76874
77029
  default value: 10
77030
+ minimum value: 1
76875
77031
  maximum value: 10000 */
76876
77032
  internal_list_limit?: number | undefined;
76877
77033
  /** user-defined task identifier
@@ -76995,29 +77151,30 @@ example:
76995
77151
  [{"path": "content.cms","name": "wordpress"}, {"path": "marketing.crm","name": "salesforce"}] */
76996
77152
  technology_paths?: string[] | undefined;
76997
77153
  /** ids of the target technology groups
76998
- required field if you don’t specify technologies, technology_paths or categories
77154
+ required field if you don’t specify technologies, technology_paths, categories, or keywords
76999
77155
  you can find the full list of technology group ids on this page
77000
77156
  note: you can specify up to 10 technology groups in this array
77001
77157
  example:
77002
77158
  ["sales", "marketing"] */
77003
77159
  groups?: string[] | undefined;
77004
77160
  /** ids of the target technology categories
77005
- required field if you don’t specify groups, technology_paths or technologies
77161
+ required field if you don’t specify groups, technology_paths, technologies, or keywords
77006
77162
  you can find the full list of technology category ids on this page
77007
77163
  note: you can specify up to 10 technology categories in this array
77008
77164
  example:
77009
77165
  ["payment_processors","crm"] */
77010
77166
  categories?: string[] | undefined;
77011
77167
  /** target technologies
77012
- required field if you don’t specify groups, technology_paths or categories
77168
+ required field if you don’t specify groups, technology_paths, categories, or keywords
77013
77169
  you can find the full list of technologies you can specify here on this page
77014
77170
  note: you can specify up to 10 technologies in this array
77015
77171
  example:
77016
77172
  ["Google Pay","Salesforce"] */
77017
77173
  technologies?: string[] | undefined;
77018
77174
  /** target keywords in the domain’s title, description or meta keywords
77019
- optional field
77020
- UTF-8 encoding
77175
+ required field if you don’t specify groups, technology_paths, categories, or technologies
77176
+ you can specify the maximum of 10 keywords;
77177
+ UTF-8 encoding;
77021
77178
  example:
77022
77179
  ["seo","software"] */
77023
77180
  keywords?: string[] | undefined;
@@ -77047,6 +77204,7 @@ optional field
77047
77204
  you can use this field to limit the number of elements within the following arrays:
77048
77205
  countries, languages, content_languages, keywords
77049
77206
  default value: 10
77207
+ minimum value: 1
77050
77208
  maximum value: 10000 */
77051
77209
  internal_list_limit?: number | undefined;
77052
77210
  /** user-defined task identifier
@@ -77752,7 +77910,8 @@ example:
77752
77910
  /** target keywords in the domain’s title, description or meta keywords
77753
77911
  required field if you don’t specify groups, technology_paths, technologies or categories
77754
77912
  optional field
77755
- UTF-8 encoding
77913
+ you can specify the maximum of 10 keywords;
77914
+ UTF-8 encoding;
77756
77915
  example:
77757
77916
  ["seo","software"] */
77758
77917
  keywords?: string[] | undefined;
@@ -77968,7 +78127,8 @@ example:
77968
78127
  /** target keywords in the domain’s title, description or meta keywords
77969
78128
  required field if you don’t specify groups, technology_paths, technologies or categories
77970
78129
  optional field
77971
- UTF-8 encoding
78130
+ you can specify the maximum of 10 keywords;
78131
+ UTF-8 encoding;
77972
78132
  example:
77973
78133
  ["seo","software"] */
77974
78134
  keywords?: string[] | undefined;
@@ -82339,6 +82499,14 @@ optional field
82339
82499
  if set to false, the subdomains will be ignored
82340
82500
  default value: true */
82341
82501
  include_subdomains?: boolean | undefined;
82502
+ /** include or exclude data from clickstream-based metrics in the result
82503
+ optional field
82504
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
82505
+ default value: false
82506
+ with this parameter enabled, you will be charged double the price for the request
82507
+ Note: clickstream data is available for roughly 15% of keywords in the response
82508
+ learn more about how clickstream-based metrics are calculated in this help center article */
82509
+ include_clickstream_data?: boolean | undefined;
82342
82510
  /** ignore highly similar keywords
82343
82511
  optional field
82344
82512
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -82426,6 +82594,7 @@ you will find the specified tag value in the data object of the response */
82426
82594
  this.language_code = _data["language_code"];
82427
82595
  this.include_serp_info = _data["include_serp_info"];
82428
82596
  this.include_subdomains = _data["include_subdomains"];
82597
+ this.include_clickstream_data = _data["include_clickstream_data"];
82429
82598
  this.ignore_synonyms = _data["ignore_synonyms"];
82430
82599
  this.limit = _data["limit"];
82431
82600
  this.offset = _data["offset"];
@@ -82464,6 +82633,7 @@ you will find the specified tag value in the data object of the response */
82464
82633
  data["language_code"] = this.language_code;
82465
82634
  data["include_serp_info"] = this.include_serp_info;
82466
82635
  data["include_subdomains"] = this.include_subdomains;
82636
+ data["include_clickstream_data"] = this.include_clickstream_data;
82467
82637
  data["ignore_synonyms"] = this.ignore_synonyms;
82468
82638
  data["limit"] = this.limit;
82469
82639
  data["offset"] = this.offset;
@@ -82533,6 +82703,14 @@ optional field
82533
82703
  if set to false, the subdomains will be ignored
82534
82704
  default value: true */
82535
82705
  include_subdomains?: boolean | undefined;
82706
+ /** include or exclude data from clickstream-based metrics in the result
82707
+ optional field
82708
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
82709
+ default value: false
82710
+ with this parameter enabled, you will be charged double the price for the request
82711
+ Note: clickstream data is available for roughly 15% of keywords in the response
82712
+ learn more about how clickstream-based metrics are calculated in this help center article */
82713
+ include_clickstream_data?: boolean | undefined;
82536
82714
  /** ignore highly similar keywords
82537
82715
  optional field
82538
82716
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -82813,6 +82991,120 @@ represents the (approximate) number of searches on this keyword idea (as availab
82813
82991
  [key: string]: any;
82814
82992
  }
82815
82993
 
82994
+ export class ClickstreamKeywordInfo implements IClickstreamKeywordInfo {
82995
+ /** monthly average clickstream search volume rate */
82996
+ search_volume?: number | undefined;
82997
+ /** date and time when the clickstream dataset was updated
82998
+ in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” */
82999
+ last_updated_time?: string | undefined;
83000
+ /** distribution of estimated clickstream-based metrics by gender
83001
+ learn more about how the metric is calculated in this help center article */
83002
+ gender_distribution?: { [key: string]: number; } | undefined;
83003
+ /** distribution of clickstream-based metrics by age
83004
+ learn more about how the metric is calculated in this help center article */
83005
+ age_distribution?: { [key: string]: number; } | undefined;
83006
+ /** monthly clickstream search volume rates
83007
+ array of objects with clickstream search volume rates in a certain month of a year */
83008
+ monthly_searches?: (MonthlySearches | undefined)[] | undefined;
83009
+
83010
+ [key: string]: any;
83011
+
83012
+ constructor(data?: IClickstreamKeywordInfo) {
83013
+ if (data) {
83014
+ for (var property in data) {
83015
+ if (data.hasOwnProperty(property))
83016
+ (<any>this)[property] = (<any>data)[property];
83017
+ }
83018
+ }
83019
+ }
83020
+
83021
+ init(_data?: any) {
83022
+ if (_data) {
83023
+ for (var property in _data) {
83024
+ if (_data.hasOwnProperty(property))
83025
+ this[property] = _data[property];
83026
+ }
83027
+ this.search_volume = _data["search_volume"];
83028
+ this.last_updated_time = _data["last_updated_time"];
83029
+ if (_data["gender_distribution"]) {
83030
+ this.gender_distribution = {} as any;
83031
+ for (let key in _data["gender_distribution"]) {
83032
+ if (_data["gender_distribution"].hasOwnProperty(key))
83033
+ (<any>this.gender_distribution)![key] = _data["gender_distribution"][key];
83034
+ }
83035
+ }
83036
+ if (_data["age_distribution"]) {
83037
+ this.age_distribution = {} as any;
83038
+ for (let key in _data["age_distribution"]) {
83039
+ if (_data["age_distribution"].hasOwnProperty(key))
83040
+ (<any>this.age_distribution)![key] = _data["age_distribution"][key];
83041
+ }
83042
+ }
83043
+ if (Array.isArray(_data["monthly_searches"])) {
83044
+ this.monthly_searches = [] as any;
83045
+ for (let item of _data["monthly_searches"])
83046
+ this.monthly_searches!.push(MonthlySearches.fromJS(item));
83047
+ }
83048
+ }
83049
+ }
83050
+
83051
+ static fromJS(data: any): ClickstreamKeywordInfo {
83052
+ data = typeof data === 'object' ? data : {};
83053
+ let result = new ClickstreamKeywordInfo();
83054
+ result.init(data);
83055
+ return result;
83056
+ }
83057
+
83058
+ toJSON(data?: any) {
83059
+ data = typeof data === 'object' ? data : {};
83060
+ for (var property in this) {
83061
+ if (this.hasOwnProperty(property))
83062
+ data[property] = this[property];
83063
+ }
83064
+ data["search_volume"] = this.search_volume;
83065
+ data["last_updated_time"] = this.last_updated_time;
83066
+ if (this.gender_distribution) {
83067
+ data["gender_distribution"] = {};
83068
+ for (let key in this.gender_distribution) {
83069
+ if (this.gender_distribution.hasOwnProperty(key))
83070
+ (<any>data["gender_distribution"])[key] = (<any>this.gender_distribution)[key];
83071
+ }
83072
+ }
83073
+ if (this.age_distribution) {
83074
+ data["age_distribution"] = {};
83075
+ for (let key in this.age_distribution) {
83076
+ if (this.age_distribution.hasOwnProperty(key))
83077
+ (<any>data["age_distribution"])[key] = (<any>this.age_distribution)[key];
83078
+ }
83079
+ }
83080
+ if (Array.isArray(this.monthly_searches)) {
83081
+ data["monthly_searches"] = [];
83082
+ for (let item of this.monthly_searches)
83083
+ data["monthly_searches"].push(item.toJSON());
83084
+ }
83085
+ return data;
83086
+ }
83087
+ }
83088
+
83089
+ export interface IClickstreamKeywordInfo {
83090
+ /** monthly average clickstream search volume rate */
83091
+ search_volume?: number | undefined;
83092
+ /** date and time when the clickstream dataset was updated
83093
+ in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” */
83094
+ last_updated_time?: string | undefined;
83095
+ /** distribution of estimated clickstream-based metrics by gender
83096
+ learn more about how the metric is calculated in this help center article */
83097
+ gender_distribution?: { [key: string]: number; } | undefined;
83098
+ /** distribution of clickstream-based metrics by age
83099
+ learn more about how the metric is calculated in this help center article */
83100
+ age_distribution?: { [key: string]: number; } | undefined;
83101
+ /** monthly clickstream search volume rates
83102
+ array of objects with clickstream search volume rates in a certain month of a year */
83103
+ monthly_searches?: (MonthlySearches | undefined)[] | undefined;
83104
+
83105
+ [key: string]: any;
83106
+ }
83107
+
82816
83108
  export class KeywordProperties implements IKeywordProperties {
82817
83109
  /** search engine type */
82818
83110
  se_type?: string | undefined;
@@ -83442,6 +83734,9 @@ export class KeywordDataInfo implements IKeywordDataInfo {
83442
83734
  language_code?: string | undefined;
83443
83735
  /** keyword data for the returned keyword idea */
83444
83736
  keyword_info?: KeywordInfo | undefined;
83737
+ /** clickstream data for the returned keyword
83738
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true */
83739
+ clickstream_keyword_info?: ClickstreamKeywordInfo | undefined;
83445
83740
  /** additional information about the keyword */
83446
83741
  keyword_properties?: KeywordProperties | undefined;
83447
83742
  /** impressions data for the returned keyword idea
@@ -83481,6 +83776,7 @@ learn about search intent in this help center article */
83481
83776
  this.location_code = _data["location_code"];
83482
83777
  this.language_code = _data["language_code"];
83483
83778
  this.keyword_info = _data["keyword_info"] ? KeywordInfo.fromJS(_data["keyword_info"]) : <any>undefined;
83779
+ this.clickstream_keyword_info = _data["clickstream_keyword_info"] ? ClickstreamKeywordInfo.fromJS(_data["clickstream_keyword_info"]) : <any>undefined;
83484
83780
  this.keyword_properties = _data["keyword_properties"] ? KeywordProperties.fromJS(_data["keyword_properties"]) : <any>undefined;
83485
83781
  this.impressions_info = _data["impressions_info"] ? ImpressionsInfo.fromJS(_data["impressions_info"]) : <any>undefined;
83486
83782
  this.serp_info = _data["serp_info"] ? SerpInfo.fromJS(_data["serp_info"]) : <any>undefined;
@@ -83507,6 +83803,7 @@ learn about search intent in this help center article */
83507
83803
  data["location_code"] = this.location_code;
83508
83804
  data["language_code"] = this.language_code;
83509
83805
  data["keyword_info"] = this.keyword_info ? this.keyword_info.toJSON() : <any>undefined;
83806
+ data["clickstream_keyword_info"] = this.clickstream_keyword_info ? this.clickstream_keyword_info.toJSON() : <any>undefined;
83510
83807
  data["keyword_properties"] = this.keyword_properties ? this.keyword_properties.toJSON() : <any>undefined;
83511
83808
  data["impressions_info"] = this.impressions_info ? this.impressions_info.toJSON() : <any>undefined;
83512
83809
  data["serp_info"] = this.serp_info ? this.serp_info.toJSON() : <any>undefined;
@@ -83527,6 +83824,9 @@ export interface IKeywordDataInfo {
83527
83824
  language_code?: string | undefined;
83528
83825
  /** keyword data for the returned keyword idea */
83529
83826
  keyword_info?: KeywordInfo | undefined;
83827
+ /** clickstream data for the returned keyword
83828
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true */
83829
+ clickstream_keyword_info?: ClickstreamKeywordInfo | undefined;
83530
83830
  /** additional information about the keyword */
83531
83831
  keyword_properties?: KeywordProperties | undefined;
83532
83832
  /** impressions data for the returned keyword idea
@@ -83828,6 +84128,14 @@ optional field
83828
84128
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
83829
84129
  default value: false */
83830
84130
  include_serp_info?: boolean | undefined;
84131
+ /** include or exclude data from clickstream-based metrics in the result
84132
+ optional field
84133
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
84134
+ default value: false
84135
+ with this parameter enabled, you will be charged double the price for the request
84136
+ Note: clickstream data is available for roughly 15% of keywords in the response
84137
+ learn more about how clickstream-based metrics are calculated in this help center article */
84138
+ include_clickstream_data?: boolean | undefined;
83831
84139
  /** ignore highly similar keywords
83832
84140
  optional field
83833
84141
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -83917,6 +84225,7 @@ you will find the specified tag value in the data object of the response */
83917
84225
  this.depth = _data["depth"];
83918
84226
  this.include_seed_keyword = _data["include_seed_keyword"];
83919
84227
  this.include_serp_info = _data["include_serp_info"];
84228
+ this.include_clickstream_data = _data["include_clickstream_data"];
83920
84229
  this.ignore_synonyms = _data["ignore_synonyms"];
83921
84230
  this.replace_with_core_keyword = _data["replace_with_core_keyword"];
83922
84231
  if (Array.isArray(_data["filters"])) {
@@ -83956,6 +84265,7 @@ you will find the specified tag value in the data object of the response */
83956
84265
  data["depth"] = this.depth;
83957
84266
  data["include_seed_keyword"] = this.include_seed_keyword;
83958
84267
  data["include_serp_info"] = this.include_serp_info;
84268
+ data["include_clickstream_data"] = this.include_clickstream_data;
83959
84269
  data["ignore_synonyms"] = this.ignore_synonyms;
83960
84270
  data["replace_with_core_keyword"] = this.replace_with_core_keyword;
83961
84271
  if (Array.isArray(this.filters)) {
@@ -84036,6 +84346,14 @@ optional field
84036
84346
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
84037
84347
  default value: false */
84038
84348
  include_serp_info?: boolean | undefined;
84349
+ /** include or exclude data from clickstream-based metrics in the result
84350
+ optional field
84351
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
84352
+ default value: false
84353
+ with this parameter enabled, you will be charged double the price for the request
84354
+ Note: clickstream data is available for roughly 15% of keywords in the response
84355
+ learn more about how clickstream-based metrics are calculated in this help center article */
84356
+ include_clickstream_data?: boolean | undefined;
84039
84357
  /** ignore highly similar keywords
84040
84358
  optional field
84041
84359
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -84458,6 +84776,14 @@ optional field
84458
84776
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
84459
84777
  default value: false */
84460
84778
  include_serp_info?: boolean | undefined;
84779
+ /** include or exclude data from clickstream-based metrics in the result
84780
+ optional field
84781
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
84782
+ default value: false
84783
+ with this parameter enabled, you will be charged double the price for the request
84784
+ Note: clickstream data is available for roughly 15% of keywords in the response
84785
+ learn more about how clickstream-based metrics are calculated in this help center article */
84786
+ include_clickstream_data?: boolean | undefined;
84461
84787
  /** search for the exact phrase
84462
84788
  optional field
84463
84789
  if set to true, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase
@@ -84551,6 +84877,7 @@ you will find the specified tag value in the data object of the response */
84551
84877
  this.language_code = _data["language_code"];
84552
84878
  this.include_seed_keyword = _data["include_seed_keyword"];
84553
84879
  this.include_serp_info = _data["include_serp_info"];
84880
+ this.include_clickstream_data = _data["include_clickstream_data"];
84554
84881
  this.exact_match = _data["exact_match"];
84555
84882
  this.ignore_synonyms = _data["ignore_synonyms"];
84556
84883
  if (Array.isArray(_data["filters"])) {
@@ -84590,6 +84917,7 @@ you will find the specified tag value in the data object of the response */
84590
84917
  data["language_code"] = this.language_code;
84591
84918
  data["include_seed_keyword"] = this.include_seed_keyword;
84592
84919
  data["include_serp_info"] = this.include_serp_info;
84920
+ data["include_clickstream_data"] = this.include_clickstream_data;
84593
84921
  data["exact_match"] = this.exact_match;
84594
84922
  data["ignore_synonyms"] = this.ignore_synonyms;
84595
84923
  if (Array.isArray(this.filters)) {
@@ -84663,6 +84991,14 @@ optional field
84663
84991
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
84664
84992
  default value: false */
84665
84993
  include_serp_info?: boolean | undefined;
84994
+ /** include or exclude data from clickstream-based metrics in the result
84995
+ optional field
84996
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
84997
+ default value: false
84998
+ with this parameter enabled, you will be charged double the price for the request
84999
+ Note: clickstream data is available for roughly 15% of keywords in the response
85000
+ learn more about how clickstream-based metrics are calculated in this help center article */
85001
+ include_clickstream_data?: boolean | undefined;
84666
85002
  /** search for the exact phrase
84667
85003
  optional field
84668
85004
  if set to true, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase
@@ -84743,9 +85079,11 @@ export class DataforseoLabsGoogleKeywordSuggestionsLiveResultInfo implements IDa
84743
85079
  /** keyword data for the seed keyword
84744
85080
  fields in this object are identical to those of the items array */
84745
85081
  seed_keyword_data?: { [key: string]: string; } | undefined;
84746
- /** location code in a POST array */
85082
+ /** location code in a POST array
85083
+ if there is no data, then the value is null */
84747
85084
  location_code?: number | undefined;
84748
- /** language code in a POST array */
85085
+ /** language code in a POST array
85086
+ if there is no data, then the value is null */
84749
85087
  language_code?: string | undefined;
84750
85088
  /** total amount of results in our database relevant to your request */
84751
85089
  total_count?: number | undefined;
@@ -84845,9 +85183,11 @@ export interface IDataforseoLabsGoogleKeywordSuggestionsLiveResultInfo {
84845
85183
  /** keyword data for the seed keyword
84846
85184
  fields in this object are identical to those of the items array */
84847
85185
  seed_keyword_data?: { [key: string]: string; } | undefined;
84848
- /** location code in a POST array */
85186
+ /** location code in a POST array
85187
+ if there is no data, then the value is null */
84849
85188
  location_code?: number | undefined;
84850
- /** language code in a POST array */
85189
+ /** language code in a POST array
85190
+ if there is no data, then the value is null */
84851
85191
  language_code?: string | undefined;
84852
85192
  /** total amount of results in our database relevant to your request */
84853
85193
  total_count?: number | undefined;
@@ -85033,6 +85373,14 @@ optional field
85033
85373
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
85034
85374
  default value: false */
85035
85375
  include_serp_info?: boolean | undefined;
85376
+ /** include or exclude data from clickstream-based metrics in the result
85377
+ optional field
85378
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
85379
+ default value: false
85380
+ with this parameter enabled, you will be charged double the price for the request
85381
+ Note: clickstream data is available for roughly 15% of keywords in the response
85382
+ learn more about how clickstream-based metrics are calculated in this help center article */
85383
+ include_clickstream_data?: boolean | undefined;
85036
85384
  /** the maximum number of keywords in the results array
85037
85385
  optional field
85038
85386
  default value: 700
@@ -85124,6 +85472,7 @@ you will find the specified tag value in the data object of the response */
85124
85472
  this.closely_variants = _data["closely_variants"];
85125
85473
  this.ignore_synonyms = _data["ignore_synonyms"];
85126
85474
  this.include_serp_info = _data["include_serp_info"];
85475
+ this.include_clickstream_data = _data["include_clickstream_data"];
85127
85476
  this.limit = _data["limit"];
85128
85477
  this.offset = _data["offset"];
85129
85478
  this.offset_token = _data["offset_token"];
@@ -85166,6 +85515,7 @@ you will find the specified tag value in the data object of the response */
85166
85515
  data["closely_variants"] = this.closely_variants;
85167
85516
  data["ignore_synonyms"] = this.ignore_synonyms;
85168
85517
  data["include_serp_info"] = this.include_serp_info;
85518
+ data["include_clickstream_data"] = this.include_clickstream_data;
85169
85519
  data["limit"] = this.limit;
85170
85520
  data["offset"] = this.offset;
85171
85521
  data["offset_token"] = this.offset_token;
@@ -85242,6 +85592,14 @@ optional field
85242
85592
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
85243
85593
  default value: false */
85244
85594
  include_serp_info?: boolean | undefined;
85595
+ /** include or exclude data from clickstream-based metrics in the result
85596
+ optional field
85597
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
85598
+ default value: false
85599
+ with this parameter enabled, you will be charged double the price for the request
85600
+ Note: clickstream data is available for roughly 15% of keywords in the response
85601
+ learn more about how clickstream-based metrics are calculated in this help center article */
85602
+ include_clickstream_data?: boolean | undefined;
85245
85603
  /** the maximum number of keywords in the results array
85246
85604
  optional field
85247
85605
  default value: 700
@@ -85584,6 +85942,14 @@ optional field
85584
85942
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
85585
85943
  default value: false */
85586
85944
  include_serp_info?: boolean | undefined;
85945
+ /** include or exclude data from clickstream-based metrics in the result
85946
+ optional field
85947
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
85948
+ default value: false
85949
+ with this parameter enabled, you will be charged double the price for the request
85950
+ Note: clickstream data is available for roughly 15% of keywords in the response
85951
+ learn more about how clickstream-based metrics are calculated in this help center article */
85952
+ include_clickstream_data?: boolean | undefined;
85587
85953
  /** user-defined task identifier
85588
85954
  optional field
85589
85955
  the character limit is 255
@@ -85618,6 +85984,7 @@ you will find the specified tag value in the data object of the response */
85618
85984
  this.language_name = _data["language_name"];
85619
85985
  this.language_code = _data["language_code"];
85620
85986
  this.include_serp_info = _data["include_serp_info"];
85987
+ this.include_clickstream_data = _data["include_clickstream_data"];
85621
85988
  this.tag = _data["tag"];
85622
85989
  }
85623
85990
  }
@@ -85645,6 +86012,7 @@ you will find the specified tag value in the data object of the response */
85645
86012
  data["language_name"] = this.language_name;
85646
86013
  data["language_code"] = this.language_code;
85647
86014
  data["include_serp_info"] = this.include_serp_info;
86015
+ data["include_clickstream_data"] = this.include_clickstream_data;
85648
86016
  data["tag"] = this.tag;
85649
86017
  return data;
85650
86018
  }
@@ -85697,6 +86065,14 @@ optional field
85697
86065
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
85698
86066
  default value: false */
85699
86067
  include_serp_info?: boolean | undefined;
86068
+ /** include or exclude data from clickstream-based metrics in the result
86069
+ optional field
86070
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
86071
+ default value: false
86072
+ with this parameter enabled, you will be charged double the price for the request
86073
+ Note: clickstream data is available for roughly 15% of keywords in the response
86074
+ learn more about how clickstream-based metrics are calculated in this help center article */
86075
+ include_clickstream_data?: boolean | undefined;
85700
86076
  /** user-defined task identifier
85701
86077
  optional field
85702
86078
  the character limit is 255
@@ -85724,6 +86100,9 @@ if false, the results are returned for Google search sites only */
85724
86100
  search_partners?: boolean | undefined;
85725
86101
  /** keyword data for the returned keyword idea */
85726
86102
  keyword_info?: KeywordInfo | undefined;
86103
+ /** clickstream data for the returned keyword
86104
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true */
86105
+ clickstream_keyword_info?: ClickstreamKeywordInfo | undefined;
85727
86106
  /** additional information about the keyword */
85728
86107
  keyword_properties?: KeywordProperties | undefined;
85729
86108
  /** impressions data for the returned keyword idea
@@ -85759,6 +86138,7 @@ the value will be null if you didn’t set the field include_serp_info to true i
85759
86138
  this.language_code = _data["language_code"];
85760
86139
  this.search_partners = _data["search_partners"];
85761
86140
  this.keyword_info = _data["keyword_info"] ? KeywordInfo.fromJS(_data["keyword_info"]) : <any>undefined;
86141
+ this.clickstream_keyword_info = _data["clickstream_keyword_info"] ? ClickstreamKeywordInfo.fromJS(_data["clickstream_keyword_info"]) : <any>undefined;
85762
86142
  this.keyword_properties = _data["keyword_properties"] ? KeywordProperties.fromJS(_data["keyword_properties"]) : <any>undefined;
85763
86143
  this.impressions_info = _data["impressions_info"] ? ImpressionsInfo.fromJS(_data["impressions_info"]) : <any>undefined;
85764
86144
  this.serp_info = _data["serp_info"] ? SerpInfo.fromJS(_data["serp_info"]) : <any>undefined;
@@ -85784,6 +86164,7 @@ the value will be null if you didn’t set the field include_serp_info to true i
85784
86164
  data["language_code"] = this.language_code;
85785
86165
  data["search_partners"] = this.search_partners;
85786
86166
  data["keyword_info"] = this.keyword_info ? this.keyword_info.toJSON() : <any>undefined;
86167
+ data["clickstream_keyword_info"] = this.clickstream_keyword_info ? this.clickstream_keyword_info.toJSON() : <any>undefined;
85787
86168
  data["keyword_properties"] = this.keyword_properties ? this.keyword_properties.toJSON() : <any>undefined;
85788
86169
  data["impressions_info"] = this.impressions_info ? this.impressions_info.toJSON() : <any>undefined;
85789
86170
  data["serp_info"] = this.serp_info ? this.serp_info.toJSON() : <any>undefined;
@@ -85808,6 +86189,9 @@ if false, the results are returned for Google search sites only */
85808
86189
  search_partners?: boolean | undefined;
85809
86190
  /** keyword data for the returned keyword idea */
85810
86191
  keyword_info?: KeywordInfo | undefined;
86192
+ /** clickstream data for the returned keyword
86193
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true */
86194
+ clickstream_keyword_info?: ClickstreamKeywordInfo | undefined;
85811
86195
  /** additional information about the keyword */
85812
86196
  keyword_properties?: KeywordProperties | undefined;
85813
86197
  /** impressions data for the returned keyword idea
@@ -86949,6 +87333,14 @@ if set to false, the subcategories will be ignored
86949
87333
  default value: false
86950
87334
  learn more about the parameter in this help center article */
86951
87335
  include_subcategories?: boolean | undefined;
87336
+ /** include or exclude data from clickstream-based metrics in the result
87337
+ optional field
87338
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
87339
+ default value: false
87340
+ with this parameter enabled, you will be charged double the price for the request
87341
+ Note: clickstream data is available for roughly 15% of keywords in the response
87342
+ learn more about how clickstream-based metrics are calculated in this help center article */
87343
+ include_clickstream_data?: boolean | undefined;
86952
87344
  /** display results by item type
86953
87345
  optional field
86954
87346
  indicates the type of search results included in the response
@@ -86956,7 +87348,7 @@ Note: if the item_types array contains item types that are different from the or
86956
87348
  possible values:
86957
87349
  ["organic", "paid", "featured_snippet", "local_pack"]
86958
87350
  default value:
86959
- ["organic", "paid", "featured_snippet", "local_pack"] */
87351
+ ["organic", "paid"] */
86960
87352
  item_types?: string[] | undefined;
86961
87353
  /** array of results filtering parameters
86962
87354
  optional field
@@ -87031,6 +87423,7 @@ you will find the specified tag value in the data object of the response */
87031
87423
  this.language_name = _data["language_name"];
87032
87424
  this.language_code = _data["language_code"];
87033
87425
  this.include_subcategories = _data["include_subcategories"];
87426
+ this.include_clickstream_data = _data["include_clickstream_data"];
87034
87427
  if (Array.isArray(_data["item_types"])) {
87035
87428
  this.item_types = [] as any;
87036
87429
  for (let item of _data["item_types"])
@@ -87071,6 +87464,7 @@ you will find the specified tag value in the data object of the response */
87071
87464
  data["language_name"] = this.language_name;
87072
87465
  data["language_code"] = this.language_code;
87073
87466
  data["include_subcategories"] = this.include_subcategories;
87467
+ data["include_clickstream_data"] = this.include_clickstream_data;
87074
87468
  if (Array.isArray(this.item_types)) {
87075
87469
  data["item_types"] = [];
87076
87470
  for (let item of this.item_types)
@@ -87137,6 +87531,14 @@ if set to false, the subcategories will be ignored
87137
87531
  default value: false
87138
87532
  learn more about the parameter in this help center article */
87139
87533
  include_subcategories?: boolean | undefined;
87534
+ /** include or exclude data from clickstream-based metrics in the result
87535
+ optional field
87536
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
87537
+ default value: false
87538
+ with this parameter enabled, you will be charged double the price for the request
87539
+ Note: clickstream data is available for roughly 15% of keywords in the response
87540
+ learn more about how clickstream-based metrics are calculated in this help center article */
87541
+ include_clickstream_data?: boolean | undefined;
87140
87542
  /** display results by item type
87141
87543
  optional field
87142
87544
  indicates the type of search results included in the response
@@ -87144,7 +87546,7 @@ Note: if the item_types array contains item types that are different from the or
87144
87546
  possible values:
87145
87547
  ["organic", "paid", "featured_snippet", "local_pack"]
87146
87548
  default value:
87147
- ["organic", "paid", "featured_snippet", "local_pack"] */
87549
+ ["organic", "paid"] */
87148
87550
  item_types?: string[] | undefined;
87149
87551
  /** array of results filtering parameters
87150
87552
  optional field
@@ -87199,6 +87601,252 @@ you will find the specified tag value in the data object of the response */
87199
87601
  [key: string]: any;
87200
87602
  }
87201
87603
 
87604
+ export class DataforseoLabsMetricsInfo implements IDataforseoLabsMetricsInfo {
87605
+ /** number of organic SERPs where the domain or subdomain ranks #1 */
87606
+ pos_1?: number | undefined;
87607
+ /** number of organic SERPs where the domain or subdomain ranks #2-3 */
87608
+ pos_2_3?: number | undefined;
87609
+ /** number of organic SERPs where the domain or subdomain ranks #4-10 */
87610
+ pos_4_10?: number | undefined;
87611
+ /** number of organic SERPs where the domain or subdomain ranks #11-20 */
87612
+ pos_11_20?: number | undefined;
87613
+ /** number of organic SERPs where the domain or subdomain ranks #21-30 */
87614
+ pos_21_30?: number | undefined;
87615
+ /** number of organic SERPs where the domain or subdomain ranks #31-40 */
87616
+ pos_31_40?: number | undefined;
87617
+ /** number of organic SERPs where the domain or subdomain ranks #41-50 */
87618
+ pos_41_50?: number | undefined;
87619
+ /** number of organic SERPs where the domain or subdomain ranks #51-60 */
87620
+ pos_51_60?: number | undefined;
87621
+ /** number of organic SERPs where the domain or subdomain ranks #61-70 */
87622
+ pos_61_70?: number | undefined;
87623
+ /** number of organic SERPs where the domain or subdomain ranks #71-80 */
87624
+ pos_71_80?: number | undefined;
87625
+ /** number of organic SERPs where the domain or subdomain ranks #81-90 */
87626
+ pos_81_90?: number | undefined;
87627
+ /** number of organic SERPs where the domain or subdomain ranks #91-100 */
87628
+ pos_91_100?: number | undefined;
87629
+ /** estimated traffic volume
87630
+ estimated organic monthly traffic to the domain or subdomain
87631
+ calculated as the product of CTR (click-through-rate) and search volume values of all keywords in the category that the domain or subdomain ranks for
87632
+ learn more about how the metric is calculated in this help center article */
87633
+ etv?: number | undefined;
87634
+ /** estimated traffic volume based on impressions
87635
+ estimated organic monthly traffic to the domain or subdomain
87636
+ calculated as the product of CTR (click-through-rate) and impressions values of all keywords in the category that the domain or subdomain ranks for
87637
+ learn more about how the metric is calculated in this help center article */
87638
+ impressions_etv?: number | undefined;
87639
+ /** total count of organic SERPs that contain the domain or subdomain */
87640
+ count?: number | undefined;
87641
+ /** estimated cost of converting organic search traffic into paid
87642
+ represents the estimated monthly cost (USD) of running ads for all keywords in the category that the domain or subdomain ranks for
87643
+ the metric is calculated as the product of organic etv and paid cpc values and indicates the cost of driving the estimated volume of monthly organic traffic through PPC advertising in Google Search
87644
+ learn more about how the metric is calculated in this help center article */
87645
+ estimated_paid_traffic_cost?: number | undefined;
87646
+ /** number of new ranked elements
87647
+ indicates how many new ranked elements were found for the indicated target */
87648
+ is_new?: number | undefined;
87649
+ /** rank went up
87650
+ indicates how many ranked elements of the indicated target went up */
87651
+ is_up?: number | undefined;
87652
+ /** rank went down
87653
+ indicates how many ranked elements of the indicated target went down */
87654
+ is_down?: number | undefined;
87655
+ /** lost ranked elements
87656
+ indicates how many ranked elements of the indicated target were previously presented in SERPs, but weren’t found during the last check */
87657
+ is_lost?: number | undefined;
87658
+ /** estimated traffic volume based on clickstream data
87659
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
87660
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87661
+ learn more about how the metric is calculated in this help center article */
87662
+ clickstream_etv?: number | undefined;
87663
+ /** distribution of estimated clickstream-based metrics by gender
87664
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87665
+ learn more about how the metric is calculated in this help center article */
87666
+ clickstream_gender_distribution?: { [key: string]: number; } | undefined;
87667
+ /** distribution of clickstream-based metrics by age
87668
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87669
+ learn more about how the metric is calculated in this help center article */
87670
+ clickstream_age_distribution?: { [key: string]: number; } | undefined;
87671
+
87672
+ [key: string]: any;
87673
+
87674
+ constructor(data?: IDataforseoLabsMetricsInfo) {
87675
+ if (data) {
87676
+ for (var property in data) {
87677
+ if (data.hasOwnProperty(property))
87678
+ (<any>this)[property] = (<any>data)[property];
87679
+ }
87680
+ }
87681
+ }
87682
+
87683
+ init(_data?: any) {
87684
+ if (_data) {
87685
+ for (var property in _data) {
87686
+ if (_data.hasOwnProperty(property))
87687
+ this[property] = _data[property];
87688
+ }
87689
+ this.pos_1 = _data["pos_1"];
87690
+ this.pos_2_3 = _data["pos_2_3"];
87691
+ this.pos_4_10 = _data["pos_4_10"];
87692
+ this.pos_11_20 = _data["pos_11_20"];
87693
+ this.pos_21_30 = _data["pos_21_30"];
87694
+ this.pos_31_40 = _data["pos_31_40"];
87695
+ this.pos_41_50 = _data["pos_41_50"];
87696
+ this.pos_51_60 = _data["pos_51_60"];
87697
+ this.pos_61_70 = _data["pos_61_70"];
87698
+ this.pos_71_80 = _data["pos_71_80"];
87699
+ this.pos_81_90 = _data["pos_81_90"];
87700
+ this.pos_91_100 = _data["pos_91_100"];
87701
+ this.etv = _data["etv"];
87702
+ this.impressions_etv = _data["impressions_etv"];
87703
+ this.count = _data["count"];
87704
+ this.estimated_paid_traffic_cost = _data["estimated_paid_traffic_cost"];
87705
+ this.is_new = _data["is_new"];
87706
+ this.is_up = _data["is_up"];
87707
+ this.is_down = _data["is_down"];
87708
+ this.is_lost = _data["is_lost"];
87709
+ this.clickstream_etv = _data["clickstream_etv"];
87710
+ if (_data["clickstream_gender_distribution"]) {
87711
+ this.clickstream_gender_distribution = {} as any;
87712
+ for (let key in _data["clickstream_gender_distribution"]) {
87713
+ if (_data["clickstream_gender_distribution"].hasOwnProperty(key))
87714
+ (<any>this.clickstream_gender_distribution)![key] = _data["clickstream_gender_distribution"][key];
87715
+ }
87716
+ }
87717
+ if (_data["clickstream_age_distribution"]) {
87718
+ this.clickstream_age_distribution = {} as any;
87719
+ for (let key in _data["clickstream_age_distribution"]) {
87720
+ if (_data["clickstream_age_distribution"].hasOwnProperty(key))
87721
+ (<any>this.clickstream_age_distribution)![key] = _data["clickstream_age_distribution"][key];
87722
+ }
87723
+ }
87724
+ }
87725
+ }
87726
+
87727
+ static fromJS(data: any): DataforseoLabsMetricsInfo {
87728
+ data = typeof data === 'object' ? data : {};
87729
+ let result = new DataforseoLabsMetricsInfo();
87730
+ result.init(data);
87731
+ return result;
87732
+ }
87733
+
87734
+ toJSON(data?: any) {
87735
+ data = typeof data === 'object' ? data : {};
87736
+ for (var property in this) {
87737
+ if (this.hasOwnProperty(property))
87738
+ data[property] = this[property];
87739
+ }
87740
+ data["pos_1"] = this.pos_1;
87741
+ data["pos_2_3"] = this.pos_2_3;
87742
+ data["pos_4_10"] = this.pos_4_10;
87743
+ data["pos_11_20"] = this.pos_11_20;
87744
+ data["pos_21_30"] = this.pos_21_30;
87745
+ data["pos_31_40"] = this.pos_31_40;
87746
+ data["pos_41_50"] = this.pos_41_50;
87747
+ data["pos_51_60"] = this.pos_51_60;
87748
+ data["pos_61_70"] = this.pos_61_70;
87749
+ data["pos_71_80"] = this.pos_71_80;
87750
+ data["pos_81_90"] = this.pos_81_90;
87751
+ data["pos_91_100"] = this.pos_91_100;
87752
+ data["etv"] = this.etv;
87753
+ data["impressions_etv"] = this.impressions_etv;
87754
+ data["count"] = this.count;
87755
+ data["estimated_paid_traffic_cost"] = this.estimated_paid_traffic_cost;
87756
+ data["is_new"] = this.is_new;
87757
+ data["is_up"] = this.is_up;
87758
+ data["is_down"] = this.is_down;
87759
+ data["is_lost"] = this.is_lost;
87760
+ data["clickstream_etv"] = this.clickstream_etv;
87761
+ if (this.clickstream_gender_distribution) {
87762
+ data["clickstream_gender_distribution"] = {};
87763
+ for (let key in this.clickstream_gender_distribution) {
87764
+ if (this.clickstream_gender_distribution.hasOwnProperty(key))
87765
+ (<any>data["clickstream_gender_distribution"])[key] = (<any>this.clickstream_gender_distribution)[key];
87766
+ }
87767
+ }
87768
+ if (this.clickstream_age_distribution) {
87769
+ data["clickstream_age_distribution"] = {};
87770
+ for (let key in this.clickstream_age_distribution) {
87771
+ if (this.clickstream_age_distribution.hasOwnProperty(key))
87772
+ (<any>data["clickstream_age_distribution"])[key] = (<any>this.clickstream_age_distribution)[key];
87773
+ }
87774
+ }
87775
+ return data;
87776
+ }
87777
+ }
87778
+
87779
+ export interface IDataforseoLabsMetricsInfo {
87780
+ /** number of organic SERPs where the domain or subdomain ranks #1 */
87781
+ pos_1?: number | undefined;
87782
+ /** number of organic SERPs where the domain or subdomain ranks #2-3 */
87783
+ pos_2_3?: number | undefined;
87784
+ /** number of organic SERPs where the domain or subdomain ranks #4-10 */
87785
+ pos_4_10?: number | undefined;
87786
+ /** number of organic SERPs where the domain or subdomain ranks #11-20 */
87787
+ pos_11_20?: number | undefined;
87788
+ /** number of organic SERPs where the domain or subdomain ranks #21-30 */
87789
+ pos_21_30?: number | undefined;
87790
+ /** number of organic SERPs where the domain or subdomain ranks #31-40 */
87791
+ pos_31_40?: number | undefined;
87792
+ /** number of organic SERPs where the domain or subdomain ranks #41-50 */
87793
+ pos_41_50?: number | undefined;
87794
+ /** number of organic SERPs where the domain or subdomain ranks #51-60 */
87795
+ pos_51_60?: number | undefined;
87796
+ /** number of organic SERPs where the domain or subdomain ranks #61-70 */
87797
+ pos_61_70?: number | undefined;
87798
+ /** number of organic SERPs where the domain or subdomain ranks #71-80 */
87799
+ pos_71_80?: number | undefined;
87800
+ /** number of organic SERPs where the domain or subdomain ranks #81-90 */
87801
+ pos_81_90?: number | undefined;
87802
+ /** number of organic SERPs where the domain or subdomain ranks #91-100 */
87803
+ pos_91_100?: number | undefined;
87804
+ /** estimated traffic volume
87805
+ estimated organic monthly traffic to the domain or subdomain
87806
+ calculated as the product of CTR (click-through-rate) and search volume values of all keywords in the category that the domain or subdomain ranks for
87807
+ learn more about how the metric is calculated in this help center article */
87808
+ etv?: number | undefined;
87809
+ /** estimated traffic volume based on impressions
87810
+ estimated organic monthly traffic to the domain or subdomain
87811
+ calculated as the product of CTR (click-through-rate) and impressions values of all keywords in the category that the domain or subdomain ranks for
87812
+ learn more about how the metric is calculated in this help center article */
87813
+ impressions_etv?: number | undefined;
87814
+ /** total count of organic SERPs that contain the domain or subdomain */
87815
+ count?: number | undefined;
87816
+ /** estimated cost of converting organic search traffic into paid
87817
+ represents the estimated monthly cost (USD) of running ads for all keywords in the category that the domain or subdomain ranks for
87818
+ the metric is calculated as the product of organic etv and paid cpc values and indicates the cost of driving the estimated volume of monthly organic traffic through PPC advertising in Google Search
87819
+ learn more about how the metric is calculated in this help center article */
87820
+ estimated_paid_traffic_cost?: number | undefined;
87821
+ /** number of new ranked elements
87822
+ indicates how many new ranked elements were found for the indicated target */
87823
+ is_new?: number | undefined;
87824
+ /** rank went up
87825
+ indicates how many ranked elements of the indicated target went up */
87826
+ is_up?: number | undefined;
87827
+ /** rank went down
87828
+ indicates how many ranked elements of the indicated target went down */
87829
+ is_down?: number | undefined;
87830
+ /** lost ranked elements
87831
+ indicates how many ranked elements of the indicated target were previously presented in SERPs, but weren’t found during the last check */
87832
+ is_lost?: number | undefined;
87833
+ /** estimated traffic volume based on clickstream data
87834
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
87835
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87836
+ learn more about how the metric is calculated in this help center article */
87837
+ clickstream_etv?: number | undefined;
87838
+ /** distribution of estimated clickstream-based metrics by gender
87839
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87840
+ learn more about how the metric is calculated in this help center article */
87841
+ clickstream_gender_distribution?: { [key: string]: number; } | undefined;
87842
+ /** distribution of clickstream-based metrics by age
87843
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
87844
+ learn more about how the metric is calculated in this help center article */
87845
+ clickstream_age_distribution?: { [key: string]: number; } | undefined;
87846
+
87847
+ [key: string]: any;
87848
+ }
87849
+
87202
87850
  export class DataforseoLabsGoogleCategoriesForDomainLiveItem implements IDataforseoLabsGoogleCategoriesForDomainLiveItem {
87203
87851
  /** search engine type */
87204
87852
  se_type?: string | undefined;
@@ -87206,7 +87854,7 @@ export class DataforseoLabsGoogleCategoriesForDomainLiveItem implements IDatafor
87206
87854
  you can download the full list of possible categories */
87207
87855
  categories?: number[] | undefined;
87208
87856
  /** ranking data relevant to the specified domain or subdomain */
87209
- metrics?: { [key: string]: MetricsInfo; } | undefined;
87857
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
87210
87858
 
87211
87859
  [key: string]: any;
87212
87860
 
@@ -87235,7 +87883,7 @@ you can download the full list of possible categories */
87235
87883
  this.metrics = {} as any;
87236
87884
  for (let key in _data["metrics"]) {
87237
87885
  if (_data["metrics"].hasOwnProperty(key))
87238
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
87886
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
87239
87887
  }
87240
87888
  }
87241
87889
  }
@@ -87278,7 +87926,7 @@ export interface IDataforseoLabsGoogleCategoriesForDomainLiveItem {
87278
87926
  you can download the full list of possible categories */
87279
87927
  categories?: number[] | undefined;
87280
87928
  /** ranking data relevant to the specified domain or subdomain */
87281
- metrics?: { [key: string]: MetricsInfo; } | undefined;
87929
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
87282
87930
 
87283
87931
  [key: string]: any;
87284
87932
  }
@@ -87536,6 +88184,14 @@ optional field
87536
88184
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
87537
88185
  default value: false */
87538
88186
  include_serp_info?: boolean | undefined;
88187
+ /** include or exclude data from clickstream-based metrics in the result
88188
+ optional field
88189
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
88190
+ default value: false
88191
+ with this parameter enabled, you will be charged double the price for the request
88192
+ Note: clickstream data is available for roughly 15% of keywords in the response
88193
+ learn more about how clickstream-based metrics are calculated in this help center article */
88194
+ include_clickstream_data?: boolean | undefined;
87539
88195
  /** ignore highly similar keywords
87540
88196
  optional field
87541
88197
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -87629,6 +88285,7 @@ you will find the specified tag value in the data object of the response */
87629
88285
  this.language_code = _data["language_code"];
87630
88286
  this.category_intersection = _data["category_intersection"];
87631
88287
  this.include_serp_info = _data["include_serp_info"];
88288
+ this.include_clickstream_data = _data["include_clickstream_data"];
87632
88289
  this.ignore_synonyms = _data["ignore_synonyms"];
87633
88290
  this.limit = _data["limit"];
87634
88291
  this.offset = _data["offset"];
@@ -87671,6 +88328,7 @@ you will find the specified tag value in the data object of the response */
87671
88328
  data["language_code"] = this.language_code;
87672
88329
  data["category_intersection"] = this.category_intersection;
87673
88330
  data["include_serp_info"] = this.include_serp_info;
88331
+ data["include_clickstream_data"] = this.include_clickstream_data;
87674
88332
  data["ignore_synonyms"] = this.ignore_synonyms;
87675
88333
  data["limit"] = this.limit;
87676
88334
  data["offset"] = this.offset;
@@ -87739,6 +88397,14 @@ optional field
87739
88397
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
87740
88398
  default value: false */
87741
88399
  include_serp_info?: boolean | undefined;
88400
+ /** include or exclude data from clickstream-based metrics in the result
88401
+ optional field
88402
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
88403
+ default value: false
88404
+ with this parameter enabled, you will be charged double the price for the request
88405
+ Note: clickstream data is available for roughly 15% of keywords in the response
88406
+ learn more about how clickstream-based metrics are calculated in this help center article */
88407
+ include_clickstream_data?: boolean | undefined;
87742
88408
  /** ignore highly similar keywords
87743
88409
  optional field
87744
88410
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -88443,10 +89109,10 @@ indicates how many new ranked elements were found for the domain */
88443
89109
  /** primary domain */
88444
89110
  main_domain?: string | undefined;
88445
89111
  /** historical ranking and traffic data of the domain */
88446
- metrics_history?: { [key: string]: { [key: string]: MetricsInfo; }; } | undefined;
89112
+ metrics_history?: { [key: string]: { [key: string]: DataforseoLabsMetricsInfo; }; } | undefined;
88447
89113
  /** metrics difference between first_date and second_date
88448
89114
  calculated by subtracting domain metrics as of the greater date from domain metrics as of the smaller date */
88449
- metrics_difference?: { [key: string]: MetricsInfo; } | undefined;
89115
+ metrics_difference?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
88450
89116
 
88451
89117
  [key: string]: any;
88452
89118
 
@@ -88488,7 +89154,7 @@ calculated by subtracting domain metrics as of the greater date from domain metr
88488
89154
  this.metrics_difference = {} as any;
88489
89155
  for (let key in _data["metrics_difference"]) {
88490
89156
  if (_data["metrics_difference"].hasOwnProperty(key))
88491
- (<any>this.metrics_difference)![key] = _data["metrics_difference"][key] ? MetricsInfo.fromJS(_data["metrics_difference"][key]) : new MetricsInfo();
89157
+ (<any>this.metrics_difference)![key] = _data["metrics_difference"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics_difference"][key]) : new DataforseoLabsMetricsInfo();
88492
89158
  }
88493
89159
  }
88494
89160
  }
@@ -88557,10 +89223,10 @@ indicates how many new ranked elements were found for the domain */
88557
89223
  /** primary domain */
88558
89224
  main_domain?: string | undefined;
88559
89225
  /** historical ranking and traffic data of the domain */
88560
- metrics_history?: { [key: string]: { [key: string]: MetricsInfo; }; } | undefined;
89226
+ metrics_history?: { [key: string]: { [key: string]: DataforseoLabsMetricsInfo; }; } | undefined;
88561
89227
  /** metrics difference between first_date and second_date
88562
89228
  calculated by subtracting domain metrics as of the greater date from domain metrics as of the smaller date */
88563
- metrics_difference?: { [key: string]: MetricsInfo; } | undefined;
89229
+ metrics_difference?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
88564
89230
 
88565
89231
  [key: string]: any;
88566
89232
  }
@@ -88815,6 +89481,14 @@ optional field
88815
89481
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
88816
89482
  default value: false */
88817
89483
  include_serp_info?: boolean | undefined;
89484
+ /** include or exclude data from clickstream-based metrics in the result
89485
+ optional field
89486
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
89487
+ default value: false
89488
+ with this parameter enabled, you will be charged double the price for the request
89489
+ Note: clickstream data is available for roughly 15% of keywords in the response
89490
+ learn more about how clickstream-based metrics are calculated in this help center article */
89491
+ include_clickstream_data?: boolean | undefined;
88818
89492
  /** ignore highly similar keywords
88819
89493
  optional field
88820
89494
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -88903,6 +89577,7 @@ Note: if the offset_token is specified in the request, all other parameters exce
88903
89577
  this.language_name = _data["language_name"];
88904
89578
  this.language_code = _data["language_code"];
88905
89579
  this.include_serp_info = _data["include_serp_info"];
89580
+ this.include_clickstream_data = _data["include_clickstream_data"];
88906
89581
  this.ignore_synonyms = _data["ignore_synonyms"];
88907
89582
  if (Array.isArray(_data["filters"])) {
88908
89583
  this.filters = [] as any;
@@ -88939,6 +89614,7 @@ Note: if the offset_token is specified in the request, all other parameters exce
88939
89614
  data["language_name"] = this.language_name;
88940
89615
  data["language_code"] = this.language_code;
88941
89616
  data["include_serp_info"] = this.include_serp_info;
89617
+ data["include_clickstream_data"] = this.include_clickstream_data;
88942
89618
  data["ignore_synonyms"] = this.ignore_synonyms;
88943
89619
  if (Array.isArray(this.filters)) {
88944
89620
  data["filters"] = [];
@@ -88996,6 +89672,14 @@ optional field
88996
89672
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
88997
89673
  default value: false */
88998
89674
  include_serp_info?: boolean | undefined;
89675
+ /** include or exclude data from clickstream-based metrics in the result
89676
+ optional field
89677
+ if the parameter is set to true, you will receive clickstream_keyword_info object with clickstream data in the response
89678
+ default value: false
89679
+ with this parameter enabled, you will be charged double the price for the request
89680
+ Note: clickstream data is available for roughly 15% of keywords in the response
89681
+ learn more about how clickstream-based metrics are calculated in this help center article */
89682
+ include_clickstream_data?: boolean | undefined;
88999
89683
  /** ignore highly similar keywords
89000
89684
  optional field
89001
89685
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -89489,7 +90173,7 @@ example:
89489
90173
  NameCheap, Inc. */
89490
90174
  registrar?: string | undefined;
89491
90175
  /** ranking data relevant to the specified domain */
89492
- metrics?: { [key: string]: MetricsInfo; } | undefined;
90176
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
89493
90177
  /** backlink data for the returned domain */
89494
90178
  backlinks_info?: BacklinksInfo | undefined;
89495
90179
 
@@ -89529,7 +90213,7 @@ NameCheap, Inc. */
89529
90213
  this.metrics = {} as any;
89530
90214
  for (let key in _data["metrics"]) {
89531
90215
  if (_data["metrics"].hasOwnProperty(key))
89532
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
90216
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
89533
90217
  }
89534
90218
  }
89535
90219
  this.backlinks_info = _data["backlinks_info"] ? BacklinksInfo.fromJS(_data["backlinks_info"]) : <any>undefined;
@@ -89622,7 +90306,7 @@ example:
89622
90306
  NameCheap, Inc. */
89623
90307
  registrar?: string | undefined;
89624
90308
  /** ranking data relevant to the specified domain */
89625
- metrics?: { [key: string]: MetricsInfo; } | undefined;
90309
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
89626
90310
  /** backlink data for the returned domain */
89627
90311
  backlinks_info?: BacklinksInfo | undefined;
89628
90312
 
@@ -89874,8 +90558,16 @@ Note: if the item_types array contains item types that are different from organi
89874
90558
  possible values:
89875
90559
  ["organic", "paid", "featured_snippet", "local_pack"]
89876
90560
  default value:
89877
- ["organic", "paid", "featured_snippet", "local_pack"] */
90561
+ ["organic", "paid"] */
89878
90562
  item_types?: string[] | undefined;
90563
+ /** include or exclude data from clickstream-based metrics in the result
90564
+ optional field
90565
+ if the parameter is set to true, you will receive clickstream_keyword_info, clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
90566
+ default value: false
90567
+ with this parameter enabled, you will be charged double the price for the request
90568
+ Note: clickstream data is available for roughly 15% of keywords in the response
90569
+ learn more about how clickstream-based metrics are calculated in this help center article */
90570
+ include_clickstream_data?: boolean | undefined;
89879
90571
  /** the maximum number of returned keywords
89880
90572
  optional field
89881
90573
  default value: 100
@@ -89971,6 +90663,7 @@ you will find the specified tag value in the data object of the response */
89971
90663
  for (let item of _data["item_types"])
89972
90664
  this.item_types!.push(item);
89973
90665
  }
90666
+ this.include_clickstream_data = _data["include_clickstream_data"];
89974
90667
  this.limit = _data["limit"];
89975
90668
  this.offset = _data["offset"];
89976
90669
  this.load_rank_absolute = _data["load_rank_absolute"];
@@ -90013,6 +90706,7 @@ you will find the specified tag value in the data object of the response */
90013
90706
  for (let item of this.item_types)
90014
90707
  data["item_types"].push(item);
90015
90708
  }
90709
+ data["include_clickstream_data"] = this.include_clickstream_data;
90016
90710
  data["limit"] = this.limit;
90017
90711
  data["offset"] = this.offset;
90018
90712
  data["load_rank_absolute"] = this.load_rank_absolute;
@@ -90091,8 +90785,16 @@ Note: if the item_types array contains item types that are different from organi
90091
90785
  possible values:
90092
90786
  ["organic", "paid", "featured_snippet", "local_pack"]
90093
90787
  default value:
90094
- ["organic", "paid", "featured_snippet", "local_pack"] */
90788
+ ["organic", "paid"] */
90095
90789
  item_types?: string[] | undefined;
90790
+ /** include or exclude data from clickstream-based metrics in the result
90791
+ optional field
90792
+ if the parameter is set to true, you will receive clickstream_keyword_info, clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
90793
+ default value: false
90794
+ with this parameter enabled, you will be charged double the price for the request
90795
+ Note: clickstream data is available for roughly 15% of keywords in the response
90796
+ learn more about how clickstream-based metrics are calculated in this help center article */
90797
+ include_clickstream_data?: boolean | undefined;
90096
90798
  /** the maximum number of returned keywords
90097
90799
  optional field
90098
90800
  default value: 100
@@ -90378,6 +91080,11 @@ learn more about how the metric is calculated in this help center article */
90378
91080
  represents the estimated cost of paid monthly traffic (USD) based on etv and cpc values of all keywords in the category that the domain ranks for
90379
91081
  learn more about how the metric is calculated in this help center article */
90380
91082
  estimated_paid_traffic_cost?: number | undefined;
91083
+ /** estimated traffic volume based on clickstream data
91084
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
91085
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
91086
+ learn more about how the metric is calculated in this help center article */
91087
+ clickstream_etv?: number | undefined;
90381
91088
  /** changes in rankings
90382
91089
  contains information about the ranking changes of the SERP element since the previous_updated_time */
90383
91090
  rank_changes?: RankChanges | undefined;
@@ -90441,6 +91148,7 @@ contains information about the ranking changes of the SERP element since the pre
90441
91148
  this.etv = _data["etv"];
90442
91149
  this.impressions_etv = _data["impressions_etv"];
90443
91150
  this.estimated_paid_traffic_cost = _data["estimated_paid_traffic_cost"];
91151
+ this.clickstream_etv = _data["clickstream_etv"];
90444
91152
  this.rank_changes = _data["rank_changes"] ? RankChanges.fromJS(_data["rank_changes"]) : <any>undefined;
90445
91153
  this.backlinks_info = _data["backlinks_info"] ? BacklinksInfo.fromJS(_data["backlinks_info"]) : <any>undefined;
90446
91154
  this.rank_info = _data["rank_info"] ? RankInfo.fromJS(_data["rank_info"]) : <any>undefined;
@@ -90501,6 +91209,7 @@ contains information about the ranking changes of the SERP element since the pre
90501
91209
  data["etv"] = this.etv;
90502
91210
  data["impressions_etv"] = this.impressions_etv;
90503
91211
  data["estimated_paid_traffic_cost"] = this.estimated_paid_traffic_cost;
91212
+ data["clickstream_etv"] = this.clickstream_etv;
90504
91213
  data["rank_changes"] = this.rank_changes ? this.rank_changes.toJSON() : <any>undefined;
90505
91214
  data["backlinks_info"] = this.backlinks_info ? this.backlinks_info.toJSON() : <any>undefined;
90506
91215
  data["rank_info"] = this.rank_info ? this.rank_info.toJSON() : <any>undefined;
@@ -90582,6 +91291,11 @@ learn more about how the metric is calculated in this help center article */
90582
91291
  represents the estimated cost of paid monthly traffic (USD) based on etv and cpc values of all keywords in the category that the domain ranks for
90583
91292
  learn more about how the metric is calculated in this help center article */
90584
91293
  estimated_paid_traffic_cost?: number | undefined;
91294
+ /** estimated traffic volume based on clickstream data
91295
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
91296
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
91297
+ learn more about how the metric is calculated in this help center article */
91298
+ clickstream_etv?: number | undefined;
90585
91299
  /** changes in rankings
90586
91300
  contains information about the ranking changes of the SERP element since the previous_updated_time */
90587
91301
  rank_changes?: RankChanges | undefined;
@@ -90847,6 +91561,11 @@ learn more about how the metric is calculated in this help center article */
90847
91561
  represents the estimated cost of paid monthly traffic (USD) based on etv and cpc values of all keywords in the category that the domain ranks for
90848
91562
  learn more about how the metric is calculated in this help center article */
90849
91563
  estimated_paid_traffic_cost?: number | undefined;
91564
+ /** estimated traffic volume based on clickstream data
91565
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
91566
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
91567
+ learn more about how the metric is calculated in this help center article */
91568
+ clickstream_etv?: number | undefined;
90850
91569
  /** changes in rankings
90851
91570
  contains information about the ranking changes of the SERP element since the previous_updated_time */
90852
91571
  rank_changes?: RankChanges | undefined;
@@ -90906,6 +91625,7 @@ contains information about the ranking changes of the SERP element since the pre
90906
91625
  this.etv = _data["etv"];
90907
91626
  this.impressions_etv = _data["impressions_etv"];
90908
91627
  this.estimated_paid_traffic_cost = _data["estimated_paid_traffic_cost"];
91628
+ this.clickstream_etv = _data["clickstream_etv"];
90909
91629
  this.rank_changes = _data["rank_changes"] ? RankChanges.fromJS(_data["rank_changes"]) : <any>undefined;
90910
91630
  this.backlinks_info = _data["backlinks_info"] ? BacklinksInfo.fromJS(_data["backlinks_info"]) : <any>undefined;
90911
91631
  this.rank_info = _data["rank_info"] ? RankInfo.fromJS(_data["rank_info"]) : <any>undefined;
@@ -90962,6 +91682,7 @@ contains information about the ranking changes of the SERP element since the pre
90962
91682
  data["etv"] = this.etv;
90963
91683
  data["impressions_etv"] = this.impressions_etv;
90964
91684
  data["estimated_paid_traffic_cost"] = this.estimated_paid_traffic_cost;
91685
+ data["clickstream_etv"] = this.clickstream_etv;
90965
91686
  data["rank_changes"] = this.rank_changes ? this.rank_changes.toJSON() : <any>undefined;
90966
91687
  data["backlinks_info"] = this.backlinks_info ? this.backlinks_info.toJSON() : <any>undefined;
90967
91688
  data["rank_info"] = this.rank_info ? this.rank_info.toJSON() : <any>undefined;
@@ -91024,6 +91745,11 @@ learn more about how the metric is calculated in this help center article */
91024
91745
  represents the estimated cost of paid monthly traffic (USD) based on etv and cpc values of all keywords in the category that the domain ranks for
91025
91746
  learn more about how the metric is calculated in this help center article */
91026
91747
  estimated_paid_traffic_cost?: number | undefined;
91748
+ /** estimated traffic volume based on clickstream data
91749
+ calculated as the product of click-through-rate and clickstream search volume values of all keywords the domain ranks for
91750
+ to retrieve results for this field, the parameter include_clickstream_data must be set to true
91751
+ learn more about how the metric is calculated in this help center article */
91752
+ clickstream_etv?: number | undefined;
91027
91753
  /** changes in rankings
91028
91754
  contains information about the ranking changes of the SERP element since the previous_updated_time */
91029
91755
  rank_changes?: RankChanges | undefined;
@@ -91052,10 +91778,10 @@ if there is no data, then the value is null */
91052
91778
  items_count?: number | undefined;
91053
91779
  /** ranking data relevant to the specified domain
91054
91780
  ranking data is provided by the rank_group parameters that show the result’s rank considering only equivalent SERP elements */
91055
- metrics?: { [key: string]: MetricsInfo; } | undefined;
91781
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
91056
91782
  /** ranking data relevant to the specified domain
91057
91783
  ranking data is provided by the rank_absolute parameters that indicate the result’s position among all SERP elements */
91058
- metrics_absolute?: { [key: string]: MetricsInfo; } | undefined;
91784
+ metrics_absolute?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
91059
91785
  /** contains ranked keywords and related data */
91060
91786
  items?: (DataforseoLabsGoogleRankedKeywordsLiveItem | undefined)[] | undefined;
91061
91787
 
@@ -91086,14 +91812,14 @@ ranking data is provided by the rank_absolute parameters that indicate the resul
91086
91812
  this.metrics = {} as any;
91087
91813
  for (let key in _data["metrics"]) {
91088
91814
  if (_data["metrics"].hasOwnProperty(key))
91089
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
91815
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
91090
91816
  }
91091
91817
  }
91092
91818
  if (_data["metrics_absolute"]) {
91093
91819
  this.metrics_absolute = {} as any;
91094
91820
  for (let key in _data["metrics_absolute"]) {
91095
91821
  if (_data["metrics_absolute"].hasOwnProperty(key))
91096
- (<any>this.metrics_absolute)![key] = _data["metrics_absolute"][key] ? MetricsInfo.fromJS(_data["metrics_absolute"][key]) : new MetricsInfo();
91822
+ (<any>this.metrics_absolute)![key] = _data["metrics_absolute"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics_absolute"][key]) : new DataforseoLabsMetricsInfo();
91097
91823
  }
91098
91824
  }
91099
91825
  if (Array.isArray(_data["items"])) {
@@ -91163,10 +91889,10 @@ if there is no data, then the value is null */
91163
91889
  items_count?: number | undefined;
91164
91890
  /** ranking data relevant to the specified domain
91165
91891
  ranking data is provided by the rank_group parameters that show the result’s rank considering only equivalent SERP elements */
91166
- metrics?: { [key: string]: MetricsInfo; } | undefined;
91892
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
91167
91893
  /** ranking data relevant to the specified domain
91168
91894
  ranking data is provided by the rank_absolute parameters that indicate the result’s position among all SERP elements */
91169
- metrics_absolute?: { [key: string]: MetricsInfo; } | undefined;
91895
+ metrics_absolute?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
91170
91896
  /** contains ranked keywords and related data */
91171
91897
  items?: (DataforseoLabsGoogleRankedKeywordsLiveItem | undefined)[] | undefined;
91172
91898
 
@@ -91335,7 +92061,7 @@ optional field
91335
92061
  possible values:
91336
92062
  ["organic", "paid", "featured_snippet", "local_pack"]
91337
92063
  default value:
91338
- ["organic", "paid", "featured_snippet", "local_pack"] */
92064
+ ["organic", "paid"] */
91339
92065
  item_types?: string[] | undefined;
91340
92066
  /** the maximum number of returned domains
91341
92067
  optional field
@@ -91530,7 +92256,7 @@ optional field
91530
92256
  possible values:
91531
92257
  ["organic", "paid", "featured_snippet", "local_pack"]
91532
92258
  default value:
91533
- ["organic", "paid", "featured_snippet", "local_pack"] */
92259
+ ["organic", "paid"] */
91534
92260
  item_types?: string[] | undefined;
91535
92261
  /** the maximum number of returned domains
91536
92262
  optional field
@@ -91988,8 +92714,16 @@ Note: if the item_types array contains item types that are different from organi
91988
92714
  possible values:
91989
92715
  ["organic", "paid", "featured_snippet", "local_pack"]
91990
92716
  default value:
91991
- ["organic", "paid", "featured_snippet", "local_pack"] */
92717
+ ["organic", "paid"] */
91992
92718
  item_types?: string[] | undefined;
92719
+ /** include or exclude data from clickstream-based metrics in the result
92720
+ optional field
92721
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
92722
+ default value: false
92723
+ with this parameter enabled, you will be charged double the price for the request
92724
+ Note: clickstream data is available for roughly 15% of keywords in the response
92725
+ learn more about how clickstream-based metrics are calculated in this help center article */
92726
+ include_clickstream_data?: boolean | undefined;
91993
92727
  /** array of results filtering parameters
91994
92728
  optional field
91995
92729
  you can add several filters at once (8 filters maximum)
@@ -92098,6 +92832,7 @@ you will find the specified tag value in the data object of the response */
92098
92832
  for (let item of _data["item_types"])
92099
92833
  this.item_types!.push(item);
92100
92834
  }
92835
+ this.include_clickstream_data = _data["include_clickstream_data"];
92101
92836
  if (Array.isArray(_data["filters"])) {
92102
92837
  this.filters = [] as any;
92103
92838
  for (let item of _data["filters"])
@@ -92144,6 +92879,7 @@ you will find the specified tag value in the data object of the response */
92144
92879
  for (let item of this.item_types)
92145
92880
  data["item_types"].push(item);
92146
92881
  }
92882
+ data["include_clickstream_data"] = this.include_clickstream_data;
92147
92883
  if (Array.isArray(this.filters)) {
92148
92884
  data["filters"] = [];
92149
92885
  for (let item of this.filters)
@@ -92213,8 +92949,16 @@ Note: if the item_types array contains item types that are different from organi
92213
92949
  possible values:
92214
92950
  ["organic", "paid", "featured_snippet", "local_pack"]
92215
92951
  default value:
92216
- ["organic", "paid", "featured_snippet", "local_pack"] */
92952
+ ["organic", "paid"] */
92217
92953
  item_types?: string[] | undefined;
92954
+ /** include or exclude data from clickstream-based metrics in the result
92955
+ optional field
92956
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
92957
+ default value: false
92958
+ with this parameter enabled, you will be charged double the price for the request
92959
+ Note: clickstream data is available for roughly 15% of keywords in the response
92960
+ learn more about how clickstream-based metrics are calculated in this help center article */
92961
+ include_clickstream_data?: boolean | undefined;
92218
92962
  /** array of results filtering parameters
92219
92963
  optional field
92220
92964
  you can add several filters at once (8 filters maximum)
@@ -92316,15 +93060,15 @@ the value for a given domain may differ when combined with different target webs
92316
93060
  intersections?: number | undefined;
92317
93061
  /** metrics for all keywords of the domain
92318
93062
  full overview of ranking and traffic data relevant to all keywords that the provided domain is ranking for */
92319
- full_domain_metrics?: { [key: string]: MetricsInfo; } | undefined;
93063
+ full_domain_metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92320
93064
  /** metrics for intersecting keywords
92321
93065
  ranking and traffic data relevant to the keywords that the provided domain shares with the target domain
92322
93066
  note: in this array ranking and traffic data is provided for the target considering the keywords target shares in search with the competitor’s domain */
92323
- metrics?: { [key: string]: MetricsInfo; } | undefined;
93067
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92324
93068
  /** metrics for intersecting keywords
92325
93069
  ranking and traffic data relevant to the keywords that the provided domain shares with the target domain
92326
93070
  note: in this array ranking and traffic data is provided for the returned competitor’s domain */
92327
- competitor_metrics?: { [key: string]: MetricsInfo; } | undefined;
93071
+ competitor_metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92328
93072
 
92329
93073
  [key: string]: any;
92330
93074
 
@@ -92352,21 +93096,21 @@ note: in this array ranking and traffic data is provided for the returned compet
92352
93096
  this.full_domain_metrics = {} as any;
92353
93097
  for (let key in _data["full_domain_metrics"]) {
92354
93098
  if (_data["full_domain_metrics"].hasOwnProperty(key))
92355
- (<any>this.full_domain_metrics)![key] = _data["full_domain_metrics"][key] ? MetricsInfo.fromJS(_data["full_domain_metrics"][key]) : new MetricsInfo();
93099
+ (<any>this.full_domain_metrics)![key] = _data["full_domain_metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["full_domain_metrics"][key]) : new DataforseoLabsMetricsInfo();
92356
93100
  }
92357
93101
  }
92358
93102
  if (_data["metrics"]) {
92359
93103
  this.metrics = {} as any;
92360
93104
  for (let key in _data["metrics"]) {
92361
93105
  if (_data["metrics"].hasOwnProperty(key))
92362
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
93106
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
92363
93107
  }
92364
93108
  }
92365
93109
  if (_data["competitor_metrics"]) {
92366
93110
  this.competitor_metrics = {} as any;
92367
93111
  for (let key in _data["competitor_metrics"]) {
92368
93112
  if (_data["competitor_metrics"].hasOwnProperty(key))
92369
- (<any>this.competitor_metrics)![key] = _data["competitor_metrics"][key] ? MetricsInfo.fromJS(_data["competitor_metrics"][key]) : new MetricsInfo();
93113
+ (<any>this.competitor_metrics)![key] = _data["competitor_metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["competitor_metrics"][key]) : new DataforseoLabsMetricsInfo();
92370
93114
  }
92371
93115
  }
92372
93116
  }
@@ -92432,15 +93176,15 @@ the value for a given domain may differ when combined with different target webs
92432
93176
  intersections?: number | undefined;
92433
93177
  /** metrics for all keywords of the domain
92434
93178
  full overview of ranking and traffic data relevant to all keywords that the provided domain is ranking for */
92435
- full_domain_metrics?: { [key: string]: MetricsInfo; } | undefined;
93179
+ full_domain_metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92436
93180
  /** metrics for intersecting keywords
92437
93181
  ranking and traffic data relevant to the keywords that the provided domain shares with the target domain
92438
93182
  note: in this array ranking and traffic data is provided for the target considering the keywords target shares in search with the competitor’s domain */
92439
- metrics?: { [key: string]: MetricsInfo; } | undefined;
93183
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92440
93184
  /** metrics for intersecting keywords
92441
93185
  ranking and traffic data relevant to the keywords that the provided domain shares with the target domain
92442
93186
  note: in this array ranking and traffic data is provided for the returned competitor’s domain */
92443
- competitor_metrics?: { [key: string]: MetricsInfo; } | undefined;
93187
+ competitor_metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
92444
93188
 
92445
93189
  [key: string]: any;
92446
93190
  }
@@ -92713,6 +93457,14 @@ optional field
92713
93457
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
92714
93458
  default value: false */
92715
93459
  include_serp_info?: boolean | undefined;
93460
+ /** include or exclude data from clickstream-based metrics in the result
93461
+ optional field
93462
+ if the parameter is set to true, you will receive clickstream_keyword_info, and clickstream_etv fields with clickstream data in the response
93463
+ default value: false
93464
+ with this parameter enabled, you will be charged double the price for the request
93465
+ Note: clickstream data is available for roughly 15% of keywords in the response
93466
+ learn more about how clickstream-based metrics are calculated in this help center article */
93467
+ include_clickstream_data?: boolean | undefined;
92716
93468
  /** the maximum number of returned keywords
92717
93469
  optional field
92718
93470
  default value: 100
@@ -92793,6 +93545,7 @@ you will find the specified tag value in the data object of the response */
92793
93545
  this.item_types!.push(item);
92794
93546
  }
92795
93547
  this.include_serp_info = _data["include_serp_info"];
93548
+ this.include_clickstream_data = _data["include_clickstream_data"];
92796
93549
  this.limit = _data["limit"];
92797
93550
  this.offset = _data["offset"];
92798
93551
  if (Array.isArray(_data["filters"])) {
@@ -92835,6 +93588,7 @@ you will find the specified tag value in the data object of the response */
92835
93588
  data["item_types"].push(item);
92836
93589
  }
92837
93590
  data["include_serp_info"] = this.include_serp_info;
93591
+ data["include_clickstream_data"] = this.include_clickstream_data;
92838
93592
  data["limit"] = this.limit;
92839
93593
  data["offset"] = this.offset;
92840
93594
  if (Array.isArray(this.filters)) {
@@ -92916,6 +93670,14 @@ optional field
92916
93670
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
92917
93671
  default value: false */
92918
93672
  include_serp_info?: boolean | undefined;
93673
+ /** include or exclude data from clickstream-based metrics in the result
93674
+ optional field
93675
+ if the parameter is set to true, you will receive clickstream_keyword_info, and clickstream_etv fields with clickstream data in the response
93676
+ default value: false
93677
+ with this parameter enabled, you will be charged double the price for the request
93678
+ Note: clickstream data is available for roughly 15% of keywords in the response
93679
+ learn more about how clickstream-based metrics are calculated in this help center article */
93680
+ include_clickstream_data?: boolean | undefined;
92919
93681
  /** the maximum number of returned keywords
92920
93682
  optional field
92921
93683
  default value: 100
@@ -92974,10 +93736,10 @@ export class DataforseoLabsGoogleDomainIntersectionLiveItem implements IDatafors
92974
93736
  se_type?: string | undefined;
92975
93737
  /** keyword data for the returned keyword */
92976
93738
  keyword_data?: KeywordDataInfo | undefined;
92977
- /** contains data on the first domain’s SERP element found for the returned keyword
93739
+ /** contains data on the first domain's SERP element found for the returned keyword
92978
93740
  the list of supported SERP elements can be found below */
92979
93741
  first_domain_serp_element?: BaseDataforseoLabsSerpElementItem | undefined;
92980
- /** contains data on the second domain’s SERP element found for the returned keyword
93742
+ /** contains data on the second domain's SERP element found for the returned keyword
92981
93743
  the list of supported SERP elements can be found below */
92982
93744
  second_domain_serp_element?: BaseDataforseoLabsSerpElementItem | undefined;
92983
93745
 
@@ -93031,10 +93793,10 @@ export interface IDataforseoLabsGoogleDomainIntersectionLiveItem {
93031
93793
  se_type?: string | undefined;
93032
93794
  /** keyword data for the returned keyword */
93033
93795
  keyword_data?: KeywordDataInfo | undefined;
93034
- /** contains data on the first domain’s SERP element found for the returned keyword
93796
+ /** contains data on the first domain's SERP element found for the returned keyword
93035
93797
  the list of supported SERP elements can be found below */
93036
93798
  first_domain_serp_element?: BaseDataforseoLabsSerpElementItem | undefined;
93037
- /** contains data on the second domain’s SERP element found for the returned keyword
93799
+ /** contains data on the second domain's SERP element found for the returned keyword
93038
93800
  the list of supported SERP elements can be found below */
93039
93801
  second_domain_serp_element?: BaseDataforseoLabsSerpElementItem | undefined;
93040
93802
 
@@ -93300,8 +94062,16 @@ Note: if the item_types array contains item types that are different from organi
93300
94062
  possible values:
93301
94063
  ["organic", "paid", "featured_snippet", "local_pack"]
93302
94064
  default value:
93303
- ["organic", "paid", "featured_snippet", "local_pack"] */
94065
+ ["organic", "paid"] */
93304
94066
  item_types?: string[] | undefined;
94067
+ /** include or exclude data from clickstream-based metrics in the result
94068
+ optional field
94069
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
94070
+ default value: false
94071
+ with this parameter enabled, you will be charged double the price for the request
94072
+ Note: clickstream data is available for roughly 15% of keywords in the response
94073
+ learn more about how clickstream-based metrics are calculated in this help center article */
94074
+ include_clickstream_data?: boolean | undefined;
93305
94075
  /** data collection mode
93306
94076
  optional field
93307
94077
  you can use this field to filter the results;
@@ -93386,6 +94156,7 @@ you will find the specified tag value in the data object of the response */
93386
94156
  for (let item of _data["item_types"])
93387
94157
  this.item_types!.push(item);
93388
94158
  }
94159
+ this.include_clickstream_data = _data["include_clickstream_data"];
93389
94160
  this.historical_serp_mode = _data["historical_serp_mode"];
93390
94161
  if (Array.isArray(_data["filters"])) {
93391
94162
  this.filters = [] as any;
@@ -93426,6 +94197,7 @@ you will find the specified tag value in the data object of the response */
93426
94197
  for (let item of this.item_types)
93427
94198
  data["item_types"].push(item);
93428
94199
  }
94200
+ data["include_clickstream_data"] = this.include_clickstream_data;
93429
94201
  data["historical_serp_mode"] = this.historical_serp_mode;
93430
94202
  if (Array.isArray(this.filters)) {
93431
94203
  data["filters"] = [];
@@ -93493,8 +94265,16 @@ Note: if the item_types array contains item types that are different from organi
93493
94265
  possible values:
93494
94266
  ["organic", "paid", "featured_snippet", "local_pack"]
93495
94267
  default value:
93496
- ["organic", "paid", "featured_snippet", "local_pack"] */
94268
+ ["organic", "paid"] */
93497
94269
  item_types?: string[] | undefined;
94270
+ /** include or exclude data from clickstream-based metrics in the result
94271
+ optional field
94272
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
94273
+ default value: false
94274
+ with this parameter enabled, you will be charged double the price for the request
94275
+ Note: clickstream data is available for roughly 15% of keywords in the response
94276
+ learn more about how clickstream-based metrics are calculated in this help center article */
94277
+ include_clickstream_data?: boolean | undefined;
93498
94278
  /** data collection mode
93499
94279
  optional field
93500
94280
  you can use this field to filter the results;
@@ -93561,7 +94341,7 @@ export class DataforseoLabsSubdomainsLiveItem implements IDataforseoLabsSubdomai
93561
94341
  /** returned subdomain */
93562
94342
  subdomain?: string | undefined;
93563
94343
  /** ranking data relevant to subdomain */
93564
- metrics?: { [key: string]: MetricsInfo; } | undefined;
94344
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
93565
94345
 
93566
94346
  [key: string]: any;
93567
94347
 
@@ -93586,7 +94366,7 @@ export class DataforseoLabsSubdomainsLiveItem implements IDataforseoLabsSubdomai
93586
94366
  this.metrics = {} as any;
93587
94367
  for (let key in _data["metrics"]) {
93588
94368
  if (_data["metrics"].hasOwnProperty(key))
93589
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
94369
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
93590
94370
  }
93591
94371
  }
93592
94372
  }
@@ -93624,7 +94404,7 @@ export interface IDataforseoLabsSubdomainsLiveItem {
93624
94404
  /** returned subdomain */
93625
94405
  subdomain?: string | undefined;
93626
94406
  /** ranking data relevant to subdomain */
93627
- metrics?: { [key: string]: MetricsInfo; } | undefined;
94407
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
93628
94408
 
93629
94409
  [key: string]: any;
93630
94410
  }
@@ -93882,13 +94662,21 @@ Note: if the item_types array contains item types that are different from organi
93882
94662
  possible values:
93883
94663
  ["organic", "paid", "featured_snippet", "local_pack"]
93884
94664
  default value:
93885
- ["organic", "paid", "featured_snippet", "local_pack"] */
94665
+ ["organic", "paid"] */
93886
94666
  item_types?: string[] | undefined;
93887
94667
  /** the maximum number of returned pages
93888
94668
  optional field
93889
94669
  default value: 100
93890
94670
  maximum value: 1000 */
93891
94671
  limit?: number | undefined;
94672
+ /** include or exclude data from clickstream-based metrics in the result
94673
+ optional field
94674
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
94675
+ default value: false
94676
+ with this parameter enabled, you will be charged double the price for the request
94677
+ Note: clickstream data is available for roughly 15% of keywords in the response
94678
+ learn more about how clickstream-based metrics are calculated in this help center article */
94679
+ include_clickstream_data?: boolean | undefined;
93892
94680
  /** offset in the results array of returned pages
93893
94681
  optional field
93894
94682
  default value: 0
@@ -93969,6 +94757,7 @@ you will find the specified tag value in the data object of the response */
93969
94757
  this.item_types!.push(item);
93970
94758
  }
93971
94759
  this.limit = _data["limit"];
94760
+ this.include_clickstream_data = _data["include_clickstream_data"];
93972
94761
  this.offset = _data["offset"];
93973
94762
  this.historical_serp_mode = _data["historical_serp_mode"];
93974
94763
  if (Array.isArray(_data["filters"])) {
@@ -94009,6 +94798,7 @@ you will find the specified tag value in the data object of the response */
94009
94798
  data["item_types"].push(item);
94010
94799
  }
94011
94800
  data["limit"] = this.limit;
94801
+ data["include_clickstream_data"] = this.include_clickstream_data;
94012
94802
  data["offset"] = this.offset;
94013
94803
  data["historical_serp_mode"] = this.historical_serp_mode;
94014
94804
  if (Array.isArray(this.filters)) {
@@ -94075,13 +94865,21 @@ Note: if the item_types array contains item types that are different from organi
94075
94865
  possible values:
94076
94866
  ["organic", "paid", "featured_snippet", "local_pack"]
94077
94867
  default value:
94078
- ["organic", "paid", "featured_snippet", "local_pack"] */
94868
+ ["organic", "paid"] */
94079
94869
  item_types?: string[] | undefined;
94080
94870
  /** the maximum number of returned pages
94081
94871
  optional field
94082
94872
  default value: 100
94083
94873
  maximum value: 1000 */
94084
94874
  limit?: number | undefined;
94875
+ /** include or exclude data from clickstream-based metrics in the result
94876
+ optional field
94877
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
94878
+ default value: false
94879
+ with this parameter enabled, you will be charged double the price for the request
94880
+ Note: clickstream data is available for roughly 15% of keywords in the response
94881
+ learn more about how clickstream-based metrics are calculated in this help center article */
94882
+ include_clickstream_data?: boolean | undefined;
94085
94883
  /** offset in the results array of returned pages
94086
94884
  optional field
94087
94885
  default value: 0
@@ -94143,7 +94941,7 @@ export class DataforseoLabsRelevantPagesLiveItem implements IDataforseoLabsRelev
94143
94941
  /** absolute URL of the relevant page */
94144
94942
  page_address?: string | undefined;
94145
94943
  /** rankings and traffic metrics for the relevant page */
94146
- metrics?: { [key: string]: MetricsInfo; } | undefined;
94944
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
94147
94945
 
94148
94946
  [key: string]: any;
94149
94947
 
@@ -94168,7 +94966,7 @@ export class DataforseoLabsRelevantPagesLiveItem implements IDataforseoLabsRelev
94168
94966
  this.metrics = {} as any;
94169
94967
  for (let key in _data["metrics"]) {
94170
94968
  if (_data["metrics"].hasOwnProperty(key))
94171
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
94969
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
94172
94970
  }
94173
94971
  }
94174
94972
  }
@@ -94206,7 +95004,7 @@ export interface IDataforseoLabsRelevantPagesLiveItem {
94206
95004
  /** absolute URL of the relevant page */
94207
95005
  page_address?: string | undefined;
94208
95006
  /** rankings and traffic metrics for the relevant page */
94209
- metrics?: { [key: string]: MetricsInfo; } | undefined;
95007
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
94210
95008
 
94211
95009
  [key: string]: any;
94212
95010
  }
@@ -94613,7 +95411,7 @@ export class DataforseoLabsDomainRankOverviewLiveItem implements IDataforseoLabs
94613
95411
  /** language code in a POST array */
94614
95412
  language_code?: string | undefined;
94615
95413
  /** ranking data relevant to the specified domain */
94616
- metrics?: { [key: string]: MetricsInfo; } | undefined;
95414
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
94617
95415
 
94618
95416
  [key: string]: any;
94619
95417
 
@@ -94639,7 +95437,7 @@ export class DataforseoLabsDomainRankOverviewLiveItem implements IDataforseoLabs
94639
95437
  this.metrics = {} as any;
94640
95438
  for (let key in _data["metrics"]) {
94641
95439
  if (_data["metrics"].hasOwnProperty(key))
94642
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
95440
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
94643
95441
  }
94644
95442
  }
94645
95443
  }
@@ -94680,7 +95478,7 @@ export interface IDataforseoLabsDomainRankOverviewLiveItem {
94680
95478
  /** language code in a POST array */
94681
95479
  language_code?: string | undefined;
94682
95480
  /** ranking data relevant to the specified domain */
94683
- metrics?: { [key: string]: MetricsInfo; } | undefined;
95481
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
94684
95482
 
94685
95483
  [key: string]: any;
94686
95484
  }
@@ -100032,6 +100830,14 @@ optional field
100032
100830
  if set to true, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;
100033
100831
  default value: false */
100034
100832
  ignore_synonyms?: boolean | undefined;
100833
+ /** include or exclude data from clickstream-based metrics in the result
100834
+ optional field
100835
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
100836
+ default value: false
100837
+ with this parameter enabled, you will be charged double the price for the request
100838
+ Note: clickstream data is available for roughly 15% of keywords in the response
100839
+ learn more about how clickstream-based metrics are calculated in this help center article */
100840
+ include_clickstream_data?: boolean | undefined;
100035
100841
  /** user-defined task identifier
100036
100842
  optional field
100037
100843
  the character limit is 255
@@ -100065,6 +100871,7 @@ you will find the specified tag value in the data object of the response */
100065
100871
  this.date_to = _data["date_to"];
100066
100872
  this.correlate = _data["correlate"];
100067
100873
  this.ignore_synonyms = _data["ignore_synonyms"];
100874
+ this.include_clickstream_data = _data["include_clickstream_data"];
100068
100875
  this.tag = _data["tag"];
100069
100876
  }
100070
100877
  }
@@ -100091,6 +100898,7 @@ you will find the specified tag value in the data object of the response */
100091
100898
  data["date_to"] = this.date_to;
100092
100899
  data["correlate"] = this.correlate;
100093
100900
  data["ignore_synonyms"] = this.ignore_synonyms;
100901
+ data["include_clickstream_data"] = this.include_clickstream_data;
100094
100902
  data["tag"] = this.tag;
100095
100903
  return data;
100096
100904
  }
@@ -100159,6 +100967,14 @@ optional field
100159
100967
  if set to true, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;
100160
100968
  default value: false */
100161
100969
  ignore_synonyms?: boolean | undefined;
100970
+ /** include or exclude data from clickstream-based metrics in the result
100971
+ optional field
100972
+ if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response
100973
+ default value: false
100974
+ with this parameter enabled, you will be charged double the price for the request
100975
+ Note: clickstream data is available for roughly 15% of keywords in the response
100976
+ learn more about how clickstream-based metrics are calculated in this help center article */
100977
+ include_clickstream_data?: boolean | undefined;
100162
100978
  /** user-defined task identifier
100163
100979
  optional field
100164
100980
  the character limit is 255
@@ -100177,7 +100993,7 @@ export class DataforseoLabsGoogleHistoricalRankOverviewLiveItem implements IData
100177
100993
  /** month for which the data is provided */
100178
100994
  month?: number | undefined;
100179
100995
  /** ranking data relevant to the specified domain */
100180
- metrics?: { [key: string]: MetricsInfo; } | undefined;
100996
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
100181
100997
 
100182
100998
  [key: string]: any;
100183
100999
 
@@ -100203,7 +101019,7 @@ export class DataforseoLabsGoogleHistoricalRankOverviewLiveItem implements IData
100203
101019
  this.metrics = {} as any;
100204
101020
  for (let key in _data["metrics"]) {
100205
101021
  if (_data["metrics"].hasOwnProperty(key))
100206
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
101022
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
100207
101023
  }
100208
101024
  }
100209
101025
  }
@@ -100244,7 +101060,7 @@ export interface IDataforseoLabsGoogleHistoricalRankOverviewLiveItem {
100244
101060
  /** month for which the data is provided */
100245
101061
  month?: number | undefined;
100246
101062
  /** ranking data relevant to the specified domain */
100247
- metrics?: { [key: string]: MetricsInfo; } | undefined;
101063
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
100248
101064
 
100249
101065
  [key: string]: any;
100250
101066
  }
@@ -100526,7 +101342,7 @@ optional field
100526
101342
  possible values:
100527
101343
  ["organic", "paid", "featured_snippet", "local_pack"]
100528
101344
  default value:
100529
- ["organic", "paid", "featured_snippet", "local_pack"] */
101345
+ ["organic", "paid"] */
100530
101346
  item_types?: string[] | undefined;
100531
101347
  /** the maximum number of returned keywords
100532
101348
  optional field
@@ -100556,6 +101372,14 @@ optional field
100556
101372
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
100557
101373
  default value: false */
100558
101374
  include_serp_info?: boolean | undefined;
101375
+ /** include or exclude data from clickstream-based metrics in the result
101376
+ optional field
101377
+ if the parameter is set to true, you will receive clickstream_keyword_info, and clickstream_etv fields with clickstream data in the response
101378
+ default value: false
101379
+ with this parameter enabled, you will be charged double the price for the request
101380
+ Note: clickstream data is available for roughly 15% of keywords in the response
101381
+ learn more about how clickstream-based metrics are calculated in this help center article */
101382
+ include_clickstream_data?: boolean | undefined;
100559
101383
  /** ignore highly similar keywords
100560
101384
  optional field
100561
101385
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -100647,6 +101471,7 @@ you will find the specified tag value in the data object of the response */
100647
101471
  this.include_subdomains = _data["include_subdomains"];
100648
101472
  this.intersection_mode = _data["intersection_mode"];
100649
101473
  this.include_serp_info = _data["include_serp_info"];
101474
+ this.include_clickstream_data = _data["include_clickstream_data"];
100650
101475
  this.ignore_synonyms = _data["ignore_synonyms"];
100651
101476
  if (Array.isArray(_data["filters"])) {
100652
101477
  this.filters = [] as any;
@@ -100701,6 +101526,7 @@ you will find the specified tag value in the data object of the response */
100701
101526
  data["include_subdomains"] = this.include_subdomains;
100702
101527
  data["intersection_mode"] = this.intersection_mode;
100703
101528
  data["include_serp_info"] = this.include_serp_info;
101529
+ data["include_clickstream_data"] = this.include_clickstream_data;
100704
101530
  data["ignore_synonyms"] = this.ignore_synonyms;
100705
101531
  if (Array.isArray(this.filters)) {
100706
101532
  data["filters"] = [];
@@ -100790,7 +101616,7 @@ optional field
100790
101616
  possible values:
100791
101617
  ["organic", "paid", "featured_snippet", "local_pack"]
100792
101618
  default value:
100793
- ["organic", "paid", "featured_snippet", "local_pack"] */
101619
+ ["organic", "paid"] */
100794
101620
  item_types?: string[] | undefined;
100795
101621
  /** the maximum number of returned keywords
100796
101622
  optional field
@@ -100820,6 +101646,14 @@ optional field
100820
101646
  if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
100821
101647
  default value: false */
100822
101648
  include_serp_info?: boolean | undefined;
101649
+ /** include or exclude data from clickstream-based metrics in the result
101650
+ optional field
101651
+ if the parameter is set to true, you will receive clickstream_keyword_info, and clickstream_etv fields with clickstream data in the response
101652
+ default value: false
101653
+ with this parameter enabled, you will be charged double the price for the request
101654
+ Note: clickstream data is available for roughly 15% of keywords in the response
101655
+ learn more about how clickstream-based metrics are calculated in this help center article */
101656
+ include_clickstream_data?: boolean | undefined;
100823
101657
  /** ignore highly similar keywords
100824
101658
  optional field
100825
101659
  if set to true only core keywords will be returned, all highly similar keywords will be excluded;
@@ -109313,7 +110147,7 @@ you will find the specified tag value in the data object of the response */
109313
110147
  [key: string]: any;
109314
110148
  }
109315
110149
 
109316
- export class DataforseoLabsBingRankedKeywordsLiveItem implements IDataforseoLabsBingRankedKeywordsLiveItem {
110150
+ export class DataforseoLabsLiveItem implements IDataforseoLabsLiveItem {
109317
110151
  /** search engine type */
109318
110152
  se_type?: string | undefined;
109319
110153
  /** keyword data for the returned keyword */
@@ -109323,7 +110157,7 @@ export class DataforseoLabsBingRankedKeywordsLiveItem implements IDataforseoLabs
109323
110157
 
109324
110158
  [key: string]: any;
109325
110159
 
109326
- constructor(data?: IDataforseoLabsBingRankedKeywordsLiveItem) {
110160
+ constructor(data?: IDataforseoLabsLiveItem) {
109327
110161
  if (data) {
109328
110162
  for (var property in data) {
109329
110163
  if (data.hasOwnProperty(property))
@@ -109344,9 +110178,9 @@ export class DataforseoLabsBingRankedKeywordsLiveItem implements IDataforseoLabs
109344
110178
  }
109345
110179
  }
109346
110180
 
109347
- static fromJS(data: any): DataforseoLabsBingRankedKeywordsLiveItem {
110181
+ static fromJS(data: any): DataforseoLabsLiveItem {
109348
110182
  data = typeof data === 'object' ? data : {};
109349
- let result = new DataforseoLabsBingRankedKeywordsLiveItem();
110183
+ let result = new DataforseoLabsLiveItem();
109350
110184
  result.init(data);
109351
110185
  return result;
109352
110186
  }
@@ -109364,7 +110198,7 @@ export class DataforseoLabsBingRankedKeywordsLiveItem implements IDataforseoLabs
109364
110198
  }
109365
110199
  }
109366
110200
 
109367
- export interface IDataforseoLabsBingRankedKeywordsLiveItem {
110201
+ export interface IDataforseoLabsLiveItem {
109368
110202
  /** search engine type */
109369
110203
  se_type?: string | undefined;
109370
110204
  /** keyword data for the returned keyword */
@@ -109392,12 +110226,12 @@ if there is no data, then the value is null */
109392
110226
  items_count?: number | undefined;
109393
110227
  /** ranking data relevant to the specified domain
109394
110228
  ranking data is provided by the rank_group parameters that show the result’s rank considering only equivalent SERP elements */
109395
- metrics?: { [key: string]: MetricsInfo; } | undefined;
110229
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
109396
110230
  /** ranking data relevant to the specified domain
109397
110231
  ranking data is provided by the rank_absolute parameters that indicate the result’s position among all SERP elements */
109398
- metrics_absolute?: { [key: string]: MetricsInfo; } | undefined;
110232
+ metrics_absolute?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
109399
110233
  /** contains ranked keywords and related data */
109400
- items?: (DataforseoLabsBingRankedKeywordsLiveItem | undefined)[] | undefined;
110234
+ items?: (DataforseoLabsLiveItem | undefined)[] | undefined;
109401
110235
 
109402
110236
  [key: string]: any;
109403
110237
 
@@ -109426,20 +110260,20 @@ ranking data is provided by the rank_absolute parameters that indicate the resul
109426
110260
  this.metrics = {} as any;
109427
110261
  for (let key in _data["metrics"]) {
109428
110262
  if (_data["metrics"].hasOwnProperty(key))
109429
- (<any>this.metrics)![key] = _data["metrics"][key] ? MetricsInfo.fromJS(_data["metrics"][key]) : new MetricsInfo();
110263
+ (<any>this.metrics)![key] = _data["metrics"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics"][key]) : new DataforseoLabsMetricsInfo();
109430
110264
  }
109431
110265
  }
109432
110266
  if (_data["metrics_absolute"]) {
109433
110267
  this.metrics_absolute = {} as any;
109434
110268
  for (let key in _data["metrics_absolute"]) {
109435
110269
  if (_data["metrics_absolute"].hasOwnProperty(key))
109436
- (<any>this.metrics_absolute)![key] = _data["metrics_absolute"][key] ? MetricsInfo.fromJS(_data["metrics_absolute"][key]) : new MetricsInfo();
110270
+ (<any>this.metrics_absolute)![key] = _data["metrics_absolute"][key] ? DataforseoLabsMetricsInfo.fromJS(_data["metrics_absolute"][key]) : new DataforseoLabsMetricsInfo();
109437
110271
  }
109438
110272
  }
109439
110273
  if (Array.isArray(_data["items"])) {
109440
110274
  this.items = [] as any;
109441
110275
  for (let item of _data["items"])
109442
- this.items!.push(DataforseoLabsBingRankedKeywordsLiveItem.fromJS(item));
110276
+ this.items!.push(DataforseoLabsLiveItem.fromJS(item));
109443
110277
  }
109444
110278
  }
109445
110279
  }
@@ -109503,12 +110337,12 @@ if there is no data, then the value is null */
109503
110337
  items_count?: number | undefined;
109504
110338
  /** ranking data relevant to the specified domain
109505
110339
  ranking data is provided by the rank_group parameters that show the result’s rank considering only equivalent SERP elements */
109506
- metrics?: { [key: string]: MetricsInfo; } | undefined;
110340
+ metrics?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
109507
110341
  /** ranking data relevant to the specified domain
109508
110342
  ranking data is provided by the rank_absolute parameters that indicate the result’s position among all SERP elements */
109509
- metrics_absolute?: { [key: string]: MetricsInfo; } | undefined;
110343
+ metrics_absolute?: { [key: string]: DataforseoLabsMetricsInfo; } | undefined;
109510
110344
  /** contains ranked keywords and related data */
109511
- items?: (DataforseoLabsBingRankedKeywordsLiveItem | undefined)[] | undefined;
110345
+ items?: (DataforseoLabsLiveItem | undefined)[] | undefined;
109512
110346
 
109513
110347
  [key: string]: any;
109514
110348
  }
@@ -112616,7 +113450,7 @@ export class AppRankedSerpElementInfo implements IAppRankedSerpElementInfo {
112616
113450
  se_type?: string | undefined;
112617
113451
  /** contains data on the SERP element
112618
113452
  the list of supported SERP elements can be found below */
112619
- serp_item?: BaseAppDataSerpElementItem | undefined;
113453
+ serp_item?: AppDataGooglePlaySearchOrganicSerpElementItem | undefined;
112620
113454
  /** direct URL to search engine results
112621
113455
  you can use it to make sure that we provided accurate results */
112622
113456
  check_url?: string | undefined;
@@ -112652,7 +113486,7 @@ in this case, will equal null */
112652
113486
  this[property] = _data[property];
112653
113487
  }
112654
113488
  this.se_type = _data["se_type"];
112655
- this.serp_item = _data["serp_item"] ? BaseAppDataSerpElementItem.fromJS(_data["serp_item"]) : <any>undefined;
113489
+ this.serp_item = _data["serp_item"] ? AppDataGooglePlaySearchOrganicSerpElementItem.fromJS(_data["serp_item"]) : <any>undefined;
112656
113490
  this.check_url = _data["check_url"];
112657
113491
  this.se_results_count = _data["se_results_count"];
112658
113492
  this.last_updated_time = _data["last_updated_time"];
@@ -112688,7 +113522,7 @@ export interface IAppRankedSerpElementInfo {
112688
113522
  se_type?: string | undefined;
112689
113523
  /** contains data on the SERP element
112690
113524
  the list of supported SERP elements can be found below */
112691
- serp_item?: BaseAppDataSerpElementItem | undefined;
113525
+ serp_item?: AppDataGooglePlaySearchOrganicSerpElementItem | undefined;
112692
113526
  /** direct URL to search engine results
112693
113527
  you can use it to make sure that we provided accurate results */
112694
113528
  check_url?: string | undefined;
@@ -112709,7 +113543,7 @@ in this case, will equal null */
112709
113543
  [key: string]: any;
112710
113544
  }
112711
113545
 
112712
- export class DataforseoLabsleKeywordsForAppLiveItem implements IDataforseoLabsleKeywordsForAppLiveItem {
113546
+ export class DataforseoLabsGoogleKeywordsForAppLiveItem implements IDataforseoLabsGoogleKeywordsForAppLiveItem {
112713
113547
  /** search engine type */
112714
113548
  se_type?: string | undefined;
112715
113549
  /** keyword data for the returned keyword */
@@ -112719,7 +113553,7 @@ export class DataforseoLabsleKeywordsForAppLiveItem implements IDataforseoLabsle
112719
113553
 
112720
113554
  [key: string]: any;
112721
113555
 
112722
- constructor(data?: IDataforseoLabsleKeywordsForAppLiveItem) {
113556
+ constructor(data?: IDataforseoLabsGoogleKeywordsForAppLiveItem) {
112723
113557
  if (data) {
112724
113558
  for (var property in data) {
112725
113559
  if (data.hasOwnProperty(property))
@@ -112740,9 +113574,9 @@ export class DataforseoLabsleKeywordsForAppLiveItem implements IDataforseoLabsle
112740
113574
  }
112741
113575
  }
112742
113576
 
112743
- static fromJS(data: any): DataforseoLabsleKeywordsForAppLiveItem {
113577
+ static fromJS(data: any): DataforseoLabsGoogleKeywordsForAppLiveItem {
112744
113578
  data = typeof data === 'object' ? data : {};
112745
- let result = new DataforseoLabsleKeywordsForAppLiveItem();
113579
+ let result = new DataforseoLabsGoogleKeywordsForAppLiveItem();
112746
113580
  result.init(data);
112747
113581
  return result;
112748
113582
  }
@@ -112760,7 +113594,7 @@ export class DataforseoLabsleKeywordsForAppLiveItem implements IDataforseoLabsle
112760
113594
  }
112761
113595
  }
112762
113596
 
112763
- export interface IDataforseoLabsleKeywordsForAppLiveItem {
113597
+ export interface IDataforseoLabsGoogleKeywordsForAppLiveItem {
112764
113598
  /** search engine type */
112765
113599
  se_type?: string | undefined;
112766
113600
  /** keyword data for the returned keyword */
@@ -112785,7 +113619,7 @@ export class DataforseoLabsGoogleKeywordsForAppLiveResultInfo implements IDatafo
112785
113619
  /** the number of results returned in the items array */
112786
113620
  items_count?: number | undefined;
112787
113621
  /** contains data related to the ranking keywords for the app specified in the app_id field */
112788
- items?: (DataforseoLabsleKeywordsForAppLiveItem | undefined)[] | undefined;
113622
+ items?: (DataforseoLabsGoogleKeywordsForAppLiveItem | undefined)[] | undefined;
112789
113623
 
112790
113624
  [key: string]: any;
112791
113625
 
@@ -112813,7 +113647,7 @@ export class DataforseoLabsGoogleKeywordsForAppLiveResultInfo implements IDatafo
112813
113647
  if (Array.isArray(_data["items"])) {
112814
113648
  this.items = [] as any;
112815
113649
  for (let item of _data["items"])
112816
- this.items!.push(DataforseoLabsleKeywordsForAppLiveItem.fromJS(item));
113650
+ this.items!.push(DataforseoLabsGoogleKeywordsForAppLiveItem.fromJS(item));
112817
113651
  }
112818
113652
  }
112819
113653
  }
@@ -112860,7 +113694,7 @@ export interface IDataforseoLabsGoogleKeywordsForAppLiveResultInfo {
112860
113694
  /** the number of results returned in the items array */
112861
113695
  items_count?: number | undefined;
112862
113696
  /** contains data related to the ranking keywords for the app specified in the app_id field */
112863
- items?: (DataforseoLabsleKeywordsForAppLiveItem | undefined)[] | undefined;
113697
+ items?: (DataforseoLabsGoogleKeywordsForAppLiveItem | undefined)[] | undefined;
112864
113698
 
112865
113699
  [key: string]: any;
112866
113700
  }
@@ -113873,7 +114707,7 @@ you will find the specified tag value in the data object of the response */
113873
114707
  [key: string]: any;
113874
114708
  }
113875
114709
 
113876
- export class DataforseoLabsleAppIntersectionLiveItem implements IDataforseoLabsleAppIntersectionLiveItem {
114710
+ export class DataforseoLabsGoogleAppIntersectionLiveItem implements IDataforseoLabsGoogleAppIntersectionLiveItem {
113877
114711
  /** search engine type */
113878
114712
  se_type?: string | undefined;
113879
114713
  /** keyword data for the returned keyword */
@@ -113881,11 +114715,11 @@ export class DataforseoLabsleAppIntersectionLiveItem implements IDataforseoLabsl
113881
114715
  /** contains SERP data for the returned keyword
113882
114716
  data will be provided in separate arrays for each app ID you specified in the app_ids object when setting a task;
113883
114717
  depending on the number of specified app IDs, it can contain from 1 to 20 arrays named respectively */
113884
- intersection_result?: { [key: string]: BaseAppDataSerpElementItem; } | undefined;
114718
+ intersection_result?: { [key: string]: AppDataGooglePlaySearchOrganicSerpElementItem; } | undefined;
113885
114719
 
113886
114720
  [key: string]: any;
113887
114721
 
113888
- constructor(data?: IDataforseoLabsleAppIntersectionLiveItem) {
114722
+ constructor(data?: IDataforseoLabsGoogleAppIntersectionLiveItem) {
113889
114723
  if (data) {
113890
114724
  for (var property in data) {
113891
114725
  if (data.hasOwnProperty(property))
@@ -113906,15 +114740,15 @@ depending on the number of specified app IDs, it can contain from 1 to 20 arrays
113906
114740
  this.intersection_result = {} as any;
113907
114741
  for (let key in _data["intersection_result"]) {
113908
114742
  if (_data["intersection_result"].hasOwnProperty(key))
113909
- (<any>this.intersection_result)![key] = _data["intersection_result"][key] ? BaseAppDataSerpElementItem.fromJS(_data["intersection_result"][key]) : <any>undefined;
114743
+ (<any>this.intersection_result)![key] = _data["intersection_result"][key] ? AppDataGooglePlaySearchOrganicSerpElementItem.fromJS(_data["intersection_result"][key]) : <any>undefined;
113910
114744
  }
113911
114745
  }
113912
114746
  }
113913
114747
  }
113914
114748
 
113915
- static fromJS(data: any): DataforseoLabsleAppIntersectionLiveItem {
114749
+ static fromJS(data: any): DataforseoLabsGoogleAppIntersectionLiveItem {
113916
114750
  data = typeof data === 'object' ? data : {};
113917
- let result = new DataforseoLabsleAppIntersectionLiveItem();
114751
+ let result = new DataforseoLabsGoogleAppIntersectionLiveItem();
113918
114752
  result.init(data);
113919
114753
  return result;
113920
114754
  }
@@ -113938,7 +114772,7 @@ depending on the number of specified app IDs, it can contain from 1 to 20 arrays
113938
114772
  }
113939
114773
  }
113940
114774
 
113941
- export interface IDataforseoLabsleAppIntersectionLiveItem {
114775
+ export interface IDataforseoLabsGoogleAppIntersectionLiveItem {
113942
114776
  /** search engine type */
113943
114777
  se_type?: string | undefined;
113944
114778
  /** keyword data for the returned keyword */
@@ -113946,7 +114780,7 @@ export interface IDataforseoLabsleAppIntersectionLiveItem {
113946
114780
  /** contains SERP data for the returned keyword
113947
114781
  data will be provided in separate arrays for each app ID you specified in the app_ids object when setting a task;
113948
114782
  depending on the number of specified app IDs, it can contain from 1 to 20 arrays named respectively */
113949
- intersection_result?: { [key: string]: BaseAppDataSerpElementItem; } | undefined;
114783
+ intersection_result?: { [key: string]: AppDataGooglePlaySearchOrganicSerpElementItem; } | undefined;
113950
114784
 
113951
114785
  [key: string]: any;
113952
114786
  }
@@ -113965,7 +114799,7 @@ export class DataforseoLabsGoogleAppIntersectionLiveResultInfo implements IDataf
113965
114799
  /** the number of results returned in the items array */
113966
114800
  items_count?: number | undefined;
113967
114801
  /** contains data related to the ranking keywords for the app specified in the app_id field */
113968
- items?: (DataforseoLabsleAppIntersectionLiveItem | undefined)[] | undefined;
114802
+ items?: (DataforseoLabsGoogleAppIntersectionLiveItem | undefined)[] | undefined;
113969
114803
 
113970
114804
  [key: string]: any;
113971
114805
 
@@ -113999,7 +114833,7 @@ export class DataforseoLabsGoogleAppIntersectionLiveResultInfo implements IDataf
113999
114833
  if (Array.isArray(_data["items"])) {
114000
114834
  this.items = [] as any;
114001
114835
  for (let item of _data["items"])
114002
- this.items!.push(DataforseoLabsleAppIntersectionLiveItem.fromJS(item));
114836
+ this.items!.push(DataforseoLabsGoogleAppIntersectionLiveItem.fromJS(item));
114003
114837
  }
114004
114838
  }
114005
114839
  }
@@ -114052,7 +114886,7 @@ export interface IDataforseoLabsGoogleAppIntersectionLiveResultInfo {
114052
114886
  /** the number of results returned in the items array */
114053
114887
  items_count?: number | undefined;
114054
114888
  /** contains data related to the ranking keywords for the app specified in the app_id field */
114055
- items?: (DataforseoLabsleAppIntersectionLiveItem | undefined)[] | undefined;
114889
+ items?: (DataforseoLabsGoogleAppIntersectionLiveItem | undefined)[] | undefined;
114056
114890
 
114057
114891
  [key: string]: any;
114058
114892
  }
@@ -114917,7 +115751,7 @@ export class DataforseoLabsAppleKeywordsForAppLiveResultInfo implements IDatafor
114917
115751
  /** the number of results returned in the items array */
114918
115752
  items_count?: number | undefined;
114919
115753
  /** contains data related to the ranking keywords for the app specified in the app_id field */
114920
- items?: (DataforseoLabsleKeywordsForAppLiveItem | undefined)[] | undefined;
115754
+ items?: (DataforseoLabsLiveItem | undefined)[] | undefined;
114921
115755
 
114922
115756
  [key: string]: any;
114923
115757
 
@@ -114945,7 +115779,7 @@ export class DataforseoLabsAppleKeywordsForAppLiveResultInfo implements IDatafor
114945
115779
  if (Array.isArray(_data["items"])) {
114946
115780
  this.items = [] as any;
114947
115781
  for (let item of _data["items"])
114948
- this.items!.push(DataforseoLabsleKeywordsForAppLiveItem.fromJS(item));
115782
+ this.items!.push(DataforseoLabsLiveItem.fromJS(item));
114949
115783
  }
114950
115784
  }
114951
115785
  }
@@ -114992,7 +115826,7 @@ export interface IDataforseoLabsAppleKeywordsForAppLiveResultInfo {
114992
115826
  /** the number of results returned in the items array */
114993
115827
  items_count?: number | undefined;
114994
115828
  /** contains data related to the ranking keywords for the app specified in the app_id field */
114995
- items?: (DataforseoLabsleKeywordsForAppLiveItem | undefined)[] | undefined;
115829
+ items?: (DataforseoLabsLiveItem | undefined)[] | undefined;
114996
115830
 
114997
115831
  [key: string]: any;
114998
115832
  }
@@ -116005,6 +116839,84 @@ you will find the specified tag value in the data object of the response */
116005
116839
  [key: string]: any;
116006
116840
  }
116007
116841
 
116842
+ export class DataforseoLabsAppleAppIntersectionLiveItem implements IDataforseoLabsAppleAppIntersectionLiveItem {
116843
+ /** search engine type */
116844
+ se_type?: string | undefined;
116845
+ /** keyword data for the returned keyword */
116846
+ keyword_data?: KeywordDataKeywordDataInfo | undefined;
116847
+ /** contains SERP data for the returned keyword
116848
+ data will be provided in separate arrays for each app ID you specified in the app_ids object when setting a task;
116849
+ depending on the number of specified app IDs, it can contain from 1 to 20 arrays named respectively */
116850
+ intersection_result?: { [key: string]: AppDataAppStoreSearchOrganicSerpElementItem; } | undefined;
116851
+
116852
+ [key: string]: any;
116853
+
116854
+ constructor(data?: IDataforseoLabsAppleAppIntersectionLiveItem) {
116855
+ if (data) {
116856
+ for (var property in data) {
116857
+ if (data.hasOwnProperty(property))
116858
+ (<any>this)[property] = (<any>data)[property];
116859
+ }
116860
+ }
116861
+ }
116862
+
116863
+ init(_data?: any) {
116864
+ if (_data) {
116865
+ for (var property in _data) {
116866
+ if (_data.hasOwnProperty(property))
116867
+ this[property] = _data[property];
116868
+ }
116869
+ this.se_type = _data["se_type"];
116870
+ this.keyword_data = _data["keyword_data"] ? KeywordDataKeywordDataInfo.fromJS(_data["keyword_data"]) : <any>undefined;
116871
+ if (_data["intersection_result"]) {
116872
+ this.intersection_result = {} as any;
116873
+ for (let key in _data["intersection_result"]) {
116874
+ if (_data["intersection_result"].hasOwnProperty(key))
116875
+ (<any>this.intersection_result)![key] = _data["intersection_result"][key] ? AppDataAppStoreSearchOrganicSerpElementItem.fromJS(_data["intersection_result"][key]) : <any>undefined;
116876
+ }
116877
+ }
116878
+ }
116879
+ }
116880
+
116881
+ static fromJS(data: any): DataforseoLabsAppleAppIntersectionLiveItem {
116882
+ data = typeof data === 'object' ? data : {};
116883
+ let result = new DataforseoLabsAppleAppIntersectionLiveItem();
116884
+ result.init(data);
116885
+ return result;
116886
+ }
116887
+
116888
+ toJSON(data?: any) {
116889
+ data = typeof data === 'object' ? data : {};
116890
+ for (var property in this) {
116891
+ if (this.hasOwnProperty(property))
116892
+ data[property] = this[property];
116893
+ }
116894
+ data["se_type"] = this.se_type;
116895
+ data["keyword_data"] = this.keyword_data ? this.keyword_data.toJSON() : <any>undefined;
116896
+ if (this.intersection_result) {
116897
+ data["intersection_result"] = {};
116898
+ for (let key in this.intersection_result) {
116899
+ if (this.intersection_result.hasOwnProperty(key))
116900
+ (<any>data["intersection_result"])[key] = this.intersection_result[key] ? this.intersection_result[key].toJSON() : <any>undefined;
116901
+ }
116902
+ }
116903
+ return data;
116904
+ }
116905
+ }
116906
+
116907
+ export interface IDataforseoLabsAppleAppIntersectionLiveItem {
116908
+ /** search engine type */
116909
+ se_type?: string | undefined;
116910
+ /** keyword data for the returned keyword */
116911
+ keyword_data?: KeywordDataKeywordDataInfo | undefined;
116912
+ /** contains SERP data for the returned keyword
116913
+ data will be provided in separate arrays for each app ID you specified in the app_ids object when setting a task;
116914
+ depending on the number of specified app IDs, it can contain from 1 to 20 arrays named respectively */
116915
+ intersection_result?: { [key: string]: AppDataAppStoreSearchOrganicSerpElementItem; } | undefined;
116916
+
116917
+ [key: string]: any;
116918
+ }
116919
+
116008
116920
  export class DataforseoLabsAppleAppIntersectionLiveResultInfo implements IDataforseoLabsAppleAppIntersectionLiveResultInfo {
116009
116921
  /** search engine type */
116010
116922
  se_type?: string | undefined;
@@ -116019,7 +116931,7 @@ export class DataforseoLabsAppleAppIntersectionLiveResultInfo implements IDatafo
116019
116931
  /** the number of results returned in the items array */
116020
116932
  items_count?: number | undefined;
116021
116933
  /** contains data related to the ranking keywords for the app specified in the app_id field */
116022
- items?: (DataforseoLabsleAppIntersectionLiveItem | undefined)[] | undefined;
116934
+ items?: (DataforseoLabsAppleAppIntersectionLiveItem | undefined)[] | undefined;
116023
116935
 
116024
116936
  [key: string]: any;
116025
116937
 
@@ -116053,7 +116965,7 @@ export class DataforseoLabsAppleAppIntersectionLiveResultInfo implements IDatafo
116053
116965
  if (Array.isArray(_data["items"])) {
116054
116966
  this.items = [] as any;
116055
116967
  for (let item of _data["items"])
116056
- this.items!.push(DataforseoLabsleAppIntersectionLiveItem.fromJS(item));
116968
+ this.items!.push(DataforseoLabsAppleAppIntersectionLiveItem.fromJS(item));
116057
116969
  }
116058
116970
  }
116059
116971
  }
@@ -116106,7 +117018,7 @@ export interface IDataforseoLabsAppleAppIntersectionLiveResultInfo {
116106
117018
  /** the number of results returned in the items array */
116107
117019
  items_count?: number | undefined;
116108
117020
  /** contains data related to the ranking keywords for the app specified in the app_id field */
116109
- items?: (DataforseoLabsleAppIntersectionLiveItem | undefined)[] | undefined;
117021
+ items?: (DataforseoLabsAppleAppIntersectionLiveItem | undefined)[] | undefined;
116110
117022
 
116111
117023
  [key: string]: any;
116112
117024
  }
@@ -117191,13 +118103,213 @@ possible values according to Google’s target types */
117191
118103
  [key: string]: any;
117192
118104
  }
117193
118105
 
117194
- export class KeywordsDataGoogleAdsLocationsTaskInfo extends BaseResponseTaskInfo implements IKeywordsDataGoogleAdsLocationsTaskInfo {
118106
+ export class KeywordsDataGoogleAdsLocationsTaskInfo extends BaseResponseTaskInfo implements IKeywordsDataGoogleAdsLocationsTaskInfo {
118107
+ /** array of results */
118108
+ result?: (KeywordsDataGoogleAdsLocationsResultInfo | undefined)[] | undefined;
118109
+
118110
+ [key: string]: any;
118111
+
118112
+ constructor(data?: IKeywordsDataGoogleAdsLocationsTaskInfo) {
118113
+ super(data);
118114
+ }
118115
+
118116
+ init(_data?: any) {
118117
+ super.init(_data);
118118
+ if (_data) {
118119
+ for (var property in _data) {
118120
+ if (_data.hasOwnProperty(property))
118121
+ this[property] = _data[property];
118122
+ }
118123
+ if (Array.isArray(_data["result"])) {
118124
+ this.result = [] as any;
118125
+ for (let item of _data["result"])
118126
+ this.result!.push(KeywordsDataGoogleAdsLocationsResultInfo.fromJS(item));
118127
+ }
118128
+ }
118129
+ }
118130
+
118131
+ static fromJS(data: any): KeywordsDataGoogleAdsLocationsTaskInfo {
118132
+ data = typeof data === 'object' ? data : {};
118133
+ let result = new KeywordsDataGoogleAdsLocationsTaskInfo();
118134
+ result.init(data);
118135
+ return result;
118136
+ }
118137
+
118138
+ toJSON(data?: any) {
118139
+ data = typeof data === 'object' ? data : {};
118140
+ for (var property in this) {
118141
+ if (this.hasOwnProperty(property))
118142
+ data[property] = this[property];
118143
+ }
118144
+ if (Array.isArray(this.result)) {
118145
+ data["result"] = [];
118146
+ for (let item of this.result)
118147
+ data["result"].push(item.toJSON());
118148
+ }
118149
+ super.toJSON(data);
118150
+ return data;
118151
+ }
118152
+ }
118153
+
118154
+ export interface IKeywordsDataGoogleAdsLocationsTaskInfo extends IBaseResponseTaskInfo {
118155
+ /** array of results */
118156
+ result?: (KeywordsDataGoogleAdsLocationsResultInfo | undefined)[] | undefined;
118157
+
118158
+ [key: string]: any;
118159
+ }
118160
+
118161
+ export class KeywordsDataGoogleAdsLocationsResponseInfo extends BaseResponseInfo implements IKeywordsDataGoogleAdsLocationsResponseInfo {
118162
+ /** array of tasks */
118163
+ tasks?: (KeywordsDataGoogleAdsLocationsTaskInfo | undefined)[] | undefined;
118164
+
118165
+ [key: string]: any;
118166
+
118167
+ constructor(data?: IKeywordsDataGoogleAdsLocationsResponseInfo) {
118168
+ super(data);
118169
+ }
118170
+
118171
+ init(_data?: any) {
118172
+ super.init(_data);
118173
+ if (_data) {
118174
+ for (var property in _data) {
118175
+ if (_data.hasOwnProperty(property))
118176
+ this[property] = _data[property];
118177
+ }
118178
+ if (Array.isArray(_data["tasks"])) {
118179
+ this.tasks = [] as any;
118180
+ for (let item of _data["tasks"])
118181
+ this.tasks!.push(KeywordsDataGoogleAdsLocationsTaskInfo.fromJS(item));
118182
+ }
118183
+ }
118184
+ }
118185
+
118186
+ static fromJS(data: any): KeywordsDataGoogleAdsLocationsResponseInfo {
118187
+ data = typeof data === 'object' ? data : {};
118188
+ let result = new KeywordsDataGoogleAdsLocationsResponseInfo();
118189
+ result.init(data);
118190
+ return result;
118191
+ }
118192
+
118193
+ toJSON(data?: any) {
118194
+ data = typeof data === 'object' ? data : {};
118195
+ for (var property in this) {
118196
+ if (this.hasOwnProperty(property))
118197
+ data[property] = this[property];
118198
+ }
118199
+ if (Array.isArray(this.tasks)) {
118200
+ data["tasks"] = [];
118201
+ for (let item of this.tasks)
118202
+ data["tasks"].push(item.toJSON());
118203
+ }
118204
+ super.toJSON(data);
118205
+ return data;
118206
+ }
118207
+ }
118208
+
118209
+ export interface IKeywordsDataGoogleAdsLocationsResponseInfo extends IBaseResponseInfo {
118210
+ /** array of tasks */
118211
+ tasks?: (KeywordsDataGoogleAdsLocationsTaskInfo | undefined)[] | undefined;
118212
+
118213
+ [key: string]: any;
118214
+ }
118215
+
118216
+ export class KeywordsDataGoogleAdsLocationsCountryResultInfo implements IKeywordsDataGoogleAdsLocationsCountryResultInfo {
118217
+ /** location code */
118218
+ location_code?: number | undefined;
118219
+ /** full name of the location */
118220
+ location_name?: string | undefined;
118221
+ /** the code of the superordinate location
118222
+ example:
118223
+ "location_code": 9041134,
118224
+ "location_name": "Vienna International Airport,Lower Austria,Austria",
118225
+ "location_code_parent": 20044
118226
+ where location_code_parent corresponds to:
118227
+ "location_code": 20044,
118228
+ "location_name": "Lower Austria,Austria" */
118229
+ location_code_parent?: number | undefined;
118230
+ /** ISO country code of the location */
118231
+ country_iso_code?: string | undefined;
118232
+ /** location type
118233
+ possible values according to Google’s target types */
118234
+ location_type?: string | undefined;
118235
+
118236
+ [key: string]: any;
118237
+
118238
+ constructor(data?: IKeywordsDataGoogleAdsLocationsCountryResultInfo) {
118239
+ if (data) {
118240
+ for (var property in data) {
118241
+ if (data.hasOwnProperty(property))
118242
+ (<any>this)[property] = (<any>data)[property];
118243
+ }
118244
+ }
118245
+ }
118246
+
118247
+ init(_data?: any) {
118248
+ if (_data) {
118249
+ for (var property in _data) {
118250
+ if (_data.hasOwnProperty(property))
118251
+ this[property] = _data[property];
118252
+ }
118253
+ this.location_code = _data["location_code"];
118254
+ this.location_name = _data["location_name"];
118255
+ this.location_code_parent = _data["location_code_parent"];
118256
+ this.country_iso_code = _data["country_iso_code"];
118257
+ this.location_type = _data["location_type"];
118258
+ }
118259
+ }
118260
+
118261
+ static fromJS(data: any): KeywordsDataGoogleAdsLocationsCountryResultInfo {
118262
+ data = typeof data === 'object' ? data : {};
118263
+ let result = new KeywordsDataGoogleAdsLocationsCountryResultInfo();
118264
+ result.init(data);
118265
+ return result;
118266
+ }
118267
+
118268
+ toJSON(data?: any) {
118269
+ data = typeof data === 'object' ? data : {};
118270
+ for (var property in this) {
118271
+ if (this.hasOwnProperty(property))
118272
+ data[property] = this[property];
118273
+ }
118274
+ data["location_code"] = this.location_code;
118275
+ data["location_name"] = this.location_name;
118276
+ data["location_code_parent"] = this.location_code_parent;
118277
+ data["country_iso_code"] = this.country_iso_code;
118278
+ data["location_type"] = this.location_type;
118279
+ return data;
118280
+ }
118281
+ }
118282
+
118283
+ export interface IKeywordsDataGoogleAdsLocationsCountryResultInfo {
118284
+ /** location code */
118285
+ location_code?: number | undefined;
118286
+ /** full name of the location */
118287
+ location_name?: string | undefined;
118288
+ /** the code of the superordinate location
118289
+ example:
118290
+ "location_code": 9041134,
118291
+ "location_name": "Vienna International Airport,Lower Austria,Austria",
118292
+ "location_code_parent": 20044
118293
+ where location_code_parent corresponds to:
118294
+ "location_code": 20044,
118295
+ "location_name": "Lower Austria,Austria" */
118296
+ location_code_parent?: number | undefined;
118297
+ /** ISO country code of the location */
118298
+ country_iso_code?: string | undefined;
118299
+ /** location type
118300
+ possible values according to Google’s target types */
118301
+ location_type?: string | undefined;
118302
+
118303
+ [key: string]: any;
118304
+ }
118305
+
118306
+ export class KeywordsDataGoogleAdsLocationsCountryTaskInfo extends BaseResponseTaskInfo implements IKeywordsDataGoogleAdsLocationsCountryTaskInfo {
117195
118307
  /** array of results */
117196
- result?: (KeywordsDataGoogleAdsLocationsResultInfo | undefined)[] | undefined;
118308
+ result?: (KeywordsDataGoogleAdsLocationsCountryResultInfo | undefined)[] | undefined;
117197
118309
 
117198
118310
  [key: string]: any;
117199
118311
 
117200
- constructor(data?: IKeywordsDataGoogleAdsLocationsTaskInfo) {
118312
+ constructor(data?: IKeywordsDataGoogleAdsLocationsCountryTaskInfo) {
117201
118313
  super(data);
117202
118314
  }
117203
118315
 
@@ -117211,14 +118323,14 @@ export class KeywordsDataGoogleAdsLocationsTaskInfo extends BaseResponseTaskInfo
117211
118323
  if (Array.isArray(_data["result"])) {
117212
118324
  this.result = [] as any;
117213
118325
  for (let item of _data["result"])
117214
- this.result!.push(KeywordsDataGoogleAdsLocationsResultInfo.fromJS(item));
118326
+ this.result!.push(KeywordsDataGoogleAdsLocationsCountryResultInfo.fromJS(item));
117215
118327
  }
117216
118328
  }
117217
118329
  }
117218
118330
 
117219
- static fromJS(data: any): KeywordsDataGoogleAdsLocationsTaskInfo {
118331
+ static fromJS(data: any): KeywordsDataGoogleAdsLocationsCountryTaskInfo {
117220
118332
  data = typeof data === 'object' ? data : {};
117221
- let result = new KeywordsDataGoogleAdsLocationsTaskInfo();
118333
+ let result = new KeywordsDataGoogleAdsLocationsCountryTaskInfo();
117222
118334
  result.init(data);
117223
118335
  return result;
117224
118336
  }
@@ -117239,20 +118351,20 @@ export class KeywordsDataGoogleAdsLocationsTaskInfo extends BaseResponseTaskInfo
117239
118351
  }
117240
118352
  }
117241
118353
 
117242
- export interface IKeywordsDataGoogleAdsLocationsTaskInfo extends IBaseResponseTaskInfo {
118354
+ export interface IKeywordsDataGoogleAdsLocationsCountryTaskInfo extends IBaseResponseTaskInfo {
117243
118355
  /** array of results */
117244
- result?: (KeywordsDataGoogleAdsLocationsResultInfo | undefined)[] | undefined;
118356
+ result?: (KeywordsDataGoogleAdsLocationsCountryResultInfo | undefined)[] | undefined;
117245
118357
 
117246
118358
  [key: string]: any;
117247
118359
  }
117248
118360
 
117249
- export class KeywordsDataGoogleAdsLocationsResponseInfo extends BaseResponseInfo implements IKeywordsDataGoogleAdsLocationsResponseInfo {
118361
+ export class KeywordsDataGoogleAdsLocationsCountryResponseInfo extends BaseResponseInfo implements IKeywordsDataGoogleAdsLocationsCountryResponseInfo {
117250
118362
  /** array of tasks */
117251
- tasks?: (KeywordsDataGoogleAdsLocationsTaskInfo | undefined)[] | undefined;
118363
+ tasks?: (KeywordsDataGoogleAdsLocationsCountryTaskInfo | undefined)[] | undefined;
117252
118364
 
117253
118365
  [key: string]: any;
117254
118366
 
117255
- constructor(data?: IKeywordsDataGoogleAdsLocationsResponseInfo) {
118367
+ constructor(data?: IKeywordsDataGoogleAdsLocationsCountryResponseInfo) {
117256
118368
  super(data);
117257
118369
  }
117258
118370
 
@@ -117266,14 +118378,14 @@ export class KeywordsDataGoogleAdsLocationsResponseInfo extends BaseResponseInfo
117266
118378
  if (Array.isArray(_data["tasks"])) {
117267
118379
  this.tasks = [] as any;
117268
118380
  for (let item of _data["tasks"])
117269
- this.tasks!.push(KeywordsDataGoogleAdsLocationsTaskInfo.fromJS(item));
118381
+ this.tasks!.push(KeywordsDataGoogleAdsLocationsCountryTaskInfo.fromJS(item));
117270
118382
  }
117271
118383
  }
117272
118384
  }
117273
118385
 
117274
- static fromJS(data: any): KeywordsDataGoogleAdsLocationsResponseInfo {
118386
+ static fromJS(data: any): KeywordsDataGoogleAdsLocationsCountryResponseInfo {
117275
118387
  data = typeof data === 'object' ? data : {};
117276
- let result = new KeywordsDataGoogleAdsLocationsResponseInfo();
118388
+ let result = new KeywordsDataGoogleAdsLocationsCountryResponseInfo();
117277
118389
  result.init(data);
117278
118390
  return result;
117279
118391
  }
@@ -117294,9 +118406,9 @@ export class KeywordsDataGoogleAdsLocationsResponseInfo extends BaseResponseInfo
117294
118406
  }
117295
118407
  }
117296
118408
 
117297
- export interface IKeywordsDataGoogleAdsLocationsResponseInfo extends IBaseResponseInfo {
118409
+ export interface IKeywordsDataGoogleAdsLocationsCountryResponseInfo extends IBaseResponseInfo {
117298
118410
  /** array of tasks */
117299
- tasks?: (KeywordsDataGoogleAdsLocationsTaskInfo | undefined)[] | undefined;
118411
+ tasks?: (KeywordsDataGoogleAdsLocationsCountryTaskInfo | undefined)[] | undefined;
117300
118412
 
117301
118413
  [key: string]: any;
117302
118414
  }
@@ -123861,14 +124973,17 @@ possible values for news, youtube, images, froogle:
123861
124973
  time_range?: string | undefined;
123862
124974
  /** types of items returned
123863
124975
  optional field
123864
- if you don’t specify this field, all items will be presented in the response;
123865
- you can set only one item to speed up the execution of the request
124976
+ to speed up the execution of the request, specify one item at a time;
123866
124977
  possible values:
123867
124978
  "item_types": [
123868
124979
  "google_trends_graph",
123869
124980
  "google_trends_map",
123870
124981
  "google_trends_topics_list",
123871
124982
  "google_trends_queries_list"
124983
+ ]
124984
+ default value:
124985
+ "item_types": [
124986
+ "google_trends_graph"
123872
124987
  ] */
123873
124988
  item_types?: string[] | undefined;
123874
124989
  /** return URL for sending task results
@@ -124052,14 +125167,17 @@ possible values for news, youtube, images, froogle:
124052
125167
  time_range?: string | undefined;
124053
125168
  /** types of items returned
124054
125169
  optional field
124055
- if you don’t specify this field, all items will be presented in the response;
124056
- you can set only one item to speed up the execution of the request
125170
+ to speed up the execution of the request, specify one item at a time;
124057
125171
  possible values:
124058
125172
  "item_types": [
124059
125173
  "google_trends_graph",
124060
125174
  "google_trends_map",
124061
125175
  "google_trends_topics_list",
124062
125176
  "google_trends_queries_list"
125177
+ ]
125178
+ default value:
125179
+ "item_types": [
125180
+ "google_trends_graph"
124063
125181
  ] */
124064
125182
  item_types?: string[] | undefined;
124065
125183
  /** return URL for sending task results
@@ -190911,7 +192029,7 @@ you will find the specified tag value in the data object of the response */
190911
192029
  [key: string]: any;
190912
192030
  }
190913
192031
 
190914
- export class AppDataleAppListingsSearchLiveItem implements IAppDataleAppListingsSearchLiveItem {
192032
+ export class AppDataGoogleAppListingsSearchLiveItem implements IAppDataGoogleAppListingsSearchLiveItem {
190915
192033
  /** ID of the returned app */
190916
192034
  app_id?: string | undefined;
190917
192035
  /** search engine domain in a POST array */
@@ -190929,11 +192047,11 @@ example:
190929
192047
  2023-05-23 10:16:19 +00:00 */
190930
192048
  time_update?: string | undefined;
190931
192049
  /** detailed information about the app */
190932
- item?: BaseAppDataSerpElementItem | undefined;
192050
+ item?: AppDataGooglePlayInfoOrganicSerpElementItem | undefined;
190933
192051
 
190934
192052
  [key: string]: any;
190935
192053
 
190936
- constructor(data?: IAppDataleAppListingsSearchLiveItem) {
192054
+ constructor(data?: IAppDataGoogleAppListingsSearchLiveItem) {
190937
192055
  if (data) {
190938
192056
  for (var property in data) {
190939
192057
  if (data.hasOwnProperty(property))
@@ -190954,13 +192072,13 @@ example:
190954
192072
  this.language_code = _data["language_code"];
190955
192073
  this.check_url = _data["check_url"];
190956
192074
  this.time_update = _data["time_update"];
190957
- this.item = _data["item"] ? BaseAppDataSerpElementItem.fromJS(_data["item"]) : <any>undefined;
192075
+ this.item = _data["item"] ? AppDataGooglePlayInfoOrganicSerpElementItem.fromJS(_data["item"]) : <any>undefined;
190958
192076
  }
190959
192077
  }
190960
192078
 
190961
- static fromJS(data: any): AppDataleAppListingsSearchLiveItem {
192079
+ static fromJS(data: any): AppDataGoogleAppListingsSearchLiveItem {
190962
192080
  data = typeof data === 'object' ? data : {};
190963
- let result = new AppDataleAppListingsSearchLiveItem();
192081
+ let result = new AppDataGoogleAppListingsSearchLiveItem();
190964
192082
  result.init(data);
190965
192083
  return result;
190966
192084
  }
@@ -190982,7 +192100,7 @@ example:
190982
192100
  }
190983
192101
  }
190984
192102
 
190985
- export interface IAppDataleAppListingsSearchLiveItem {
192103
+ export interface IAppDataGoogleAppListingsSearchLiveItem {
190986
192104
  /** ID of the returned app */
190987
192105
  app_id?: string | undefined;
190988
192106
  /** search engine domain in a POST array */
@@ -191000,7 +192118,7 @@ example:
191000
192118
  2023-05-23 10:16:19 +00:00 */
191001
192119
  time_update?: string | undefined;
191002
192120
  /** detailed information about the app */
191003
- item?: BaseAppDataSerpElementItem | undefined;
192121
+ item?: AppDataGooglePlayInfoOrganicSerpElementItem | undefined;
191004
192122
 
191005
192123
  [key: string]: any;
191006
192124
  }
@@ -191016,7 +192134,7 @@ export class AppDataGoogleAppListingsSearchLiveResultInfo implements IAppDataGoo
191016
192134
  you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request */
191017
192135
  offset_token?: string | undefined;
191018
192136
  /** array of apps and related data */
191019
- items?: (AppDataleAppListingsSearchLiveItem | undefined)[] | undefined;
192137
+ items?: (AppDataGoogleAppListingsSearchLiveItem | undefined)[] | undefined;
191020
192138
 
191021
192139
  [key: string]: any;
191022
192140
 
@@ -191042,7 +192160,7 @@ you can use this parameter in the POST request to avoid timeouts while trying to
191042
192160
  if (Array.isArray(_data["items"])) {
191043
192161
  this.items = [] as any;
191044
192162
  for (let item of _data["items"])
191045
- this.items!.push(AppDataleAppListingsSearchLiveItem.fromJS(item));
192163
+ this.items!.push(AppDataGoogleAppListingsSearchLiveItem.fromJS(item));
191046
192164
  }
191047
192165
  }
191048
192166
  }
@@ -191084,7 +192202,7 @@ export interface IAppDataGoogleAppListingsSearchLiveResultInfo {
191084
192202
  you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request */
191085
192203
  offset_token?: string | undefined;
191086
192204
  /** array of apps and related data */
191087
- items?: (AppDataleAppListingsSearchLiveItem | undefined)[] | undefined;
192205
+ items?: (AppDataGoogleAppListingsSearchLiveItem | undefined)[] | undefined;
191088
192206
 
191089
192207
  [key: string]: any;
191090
192208
  }
@@ -195611,6 +196729,100 @@ you will find the specified tag value in the data object of the response */
195611
196729
  [key: string]: any;
195612
196730
  }
195613
196731
 
196732
+ export class AppDataAppleAppListingsSearchLiveItem implements IAppDataAppleAppListingsSearchLiveItem {
196733
+ /** ID of the returned app */
196734
+ app_id?: string | undefined;
196735
+ /** search engine domain in a POST array */
196736
+ se_domain?: string | undefined;
196737
+ /** location code in a POST array */
196738
+ location_code?: number | undefined;
196739
+ /** language code in a POST array */
196740
+ language_code?: string | undefined;
196741
+ /** direct URL to search engine results
196742
+ you can use it to make sure that we provided accurate results */
196743
+ check_url?: string | undefined;
196744
+ /** date and time when SERP data was last updated
196745
+ in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ”
196746
+ example:
196747
+ 2023-05-23 10:16:19 +00:00 */
196748
+ time_update?: string | undefined;
196749
+ /** detailed information about the app */
196750
+ item?: AppDataAppStoreInfoOrganicSerpElementItem | undefined;
196751
+
196752
+ [key: string]: any;
196753
+
196754
+ constructor(data?: IAppDataAppleAppListingsSearchLiveItem) {
196755
+ if (data) {
196756
+ for (var property in data) {
196757
+ if (data.hasOwnProperty(property))
196758
+ (<any>this)[property] = (<any>data)[property];
196759
+ }
196760
+ }
196761
+ }
196762
+
196763
+ init(_data?: any) {
196764
+ if (_data) {
196765
+ for (var property in _data) {
196766
+ if (_data.hasOwnProperty(property))
196767
+ this[property] = _data[property];
196768
+ }
196769
+ this.app_id = _data["app_id"];
196770
+ this.se_domain = _data["se_domain"];
196771
+ this.location_code = _data["location_code"];
196772
+ this.language_code = _data["language_code"];
196773
+ this.check_url = _data["check_url"];
196774
+ this.time_update = _data["time_update"];
196775
+ this.item = _data["item"] ? AppDataAppStoreInfoOrganicSerpElementItem.fromJS(_data["item"]) : <any>undefined;
196776
+ }
196777
+ }
196778
+
196779
+ static fromJS(data: any): AppDataAppleAppListingsSearchLiveItem {
196780
+ data = typeof data === 'object' ? data : {};
196781
+ let result = new AppDataAppleAppListingsSearchLiveItem();
196782
+ result.init(data);
196783
+ return result;
196784
+ }
196785
+
196786
+ toJSON(data?: any) {
196787
+ data = typeof data === 'object' ? data : {};
196788
+ for (var property in this) {
196789
+ if (this.hasOwnProperty(property))
196790
+ data[property] = this[property];
196791
+ }
196792
+ data["app_id"] = this.app_id;
196793
+ data["se_domain"] = this.se_domain;
196794
+ data["location_code"] = this.location_code;
196795
+ data["language_code"] = this.language_code;
196796
+ data["check_url"] = this.check_url;
196797
+ data["time_update"] = this.time_update;
196798
+ data["item"] = this.item ? this.item.toJSON() : <any>undefined;
196799
+ return data;
196800
+ }
196801
+ }
196802
+
196803
+ export interface IAppDataAppleAppListingsSearchLiveItem {
196804
+ /** ID of the returned app */
196805
+ app_id?: string | undefined;
196806
+ /** search engine domain in a POST array */
196807
+ se_domain?: string | undefined;
196808
+ /** location code in a POST array */
196809
+ location_code?: number | undefined;
196810
+ /** language code in a POST array */
196811
+ language_code?: string | undefined;
196812
+ /** direct URL to search engine results
196813
+ you can use it to make sure that we provided accurate results */
196814
+ check_url?: string | undefined;
196815
+ /** date and time when SERP data was last updated
196816
+ in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ”
196817
+ example:
196818
+ 2023-05-23 10:16:19 +00:00 */
196819
+ time_update?: string | undefined;
196820
+ /** detailed information about the app */
196821
+ item?: AppDataAppStoreInfoOrganicSerpElementItem | undefined;
196822
+
196823
+ [key: string]: any;
196824
+ }
196825
+
195614
196826
  export class AppDataAppleAppListingsSearchLiveResultInfo implements IAppDataAppleAppListingsSearchLiveResultInfo {
195615
196827
  /** the total number of relevant results in the database */
195616
196828
  total_count?: number | undefined;
@@ -195622,7 +196834,7 @@ export class AppDataAppleAppListingsSearchLiveResultInfo implements IAppDataAppl
195622
196834
  you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request */
195623
196835
  offset_token?: string | undefined;
195624
196836
  /** array of apps and related data */
195625
- items?: (AppDataleAppListingsSearchLiveItem | undefined)[] | undefined;
196837
+ items?: (AppDataAppleAppListingsSearchLiveItem | undefined)[] | undefined;
195626
196838
 
195627
196839
  [key: string]: any;
195628
196840
 
@@ -195648,7 +196860,7 @@ you can use this parameter in the POST request to avoid timeouts while trying to
195648
196860
  if (Array.isArray(_data["items"])) {
195649
196861
  this.items = [] as any;
195650
196862
  for (let item of _data["items"])
195651
- this.items!.push(AppDataleAppListingsSearchLiveItem.fromJS(item));
196863
+ this.items!.push(AppDataAppleAppListingsSearchLiveItem.fromJS(item));
195652
196864
  }
195653
196865
  }
195654
196866
  }
@@ -195690,7 +196902,7 @@ export interface IAppDataAppleAppListingsSearchLiveResultInfo {
195690
196902
  you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request */
195691
196903
  offset_token?: string | undefined;
195692
196904
  /** array of apps and related data */
195693
- items?: (AppDataleAppListingsSearchLiveItem | undefined)[] | undefined;
196905
+ items?: (AppDataAppleAppListingsSearchLiveItem | undefined)[] | undefined;
195694
196906
 
195695
196907
  [key: string]: any;
195696
196908
  }
@@ -212902,6 +214114,9 @@ example:
212902
214114
  user_profile?: BusinessDataUserProfileInfo | undefined;
212903
214115
  /** contains information about the owner’s response */
212904
214116
  responses?: (ReviewResponseItemInfo | undefined)[] | undefined;
214117
+ /** review highlights
214118
+ contains highlighted review criteria and assessments */
214119
+ review_highlights?: (ReviewHighlights | undefined)[] | undefined;
212905
214120
 
212906
214121
  [key: string]: any;
212907
214122
 
@@ -212937,6 +214152,11 @@ example:
212937
214152
  for (let item of _data["responses"])
212938
214153
  this.responses!.push(ReviewResponseItemInfo.fromJS(item));
212939
214154
  }
214155
+ if (Array.isArray(_data["review_highlights"])) {
214156
+ this.review_highlights = [] as any;
214157
+ for (let item of _data["review_highlights"])
214158
+ this.review_highlights!.push(ReviewHighlights.fromJS(item));
214159
+ }
212940
214160
  }
212941
214161
  }
212942
214162
 
@@ -212973,6 +214193,11 @@ example:
212973
214193
  for (let item of this.responses)
212974
214194
  data["responses"].push(item.toJSON());
212975
214195
  }
214196
+ if (Array.isArray(this.review_highlights)) {
214197
+ data["review_highlights"] = [];
214198
+ for (let item of this.review_highlights)
214199
+ data["review_highlights"].push(item.toJSON());
214200
+ }
212976
214201
  super.toJSON(data);
212977
214202
  return data;
212978
214203
  }
@@ -213012,6 +214237,9 @@ example:
213012
214237
  user_profile?: BusinessDataUserProfileInfo | undefined;
213013
214238
  /** contains information about the owner’s response */
213014
214239
  responses?: (ReviewResponseItemInfo | undefined)[] | undefined;
214240
+ /** review highlights
214241
+ contains highlighted review criteria and assessments */
214242
+ review_highlights?: (ReviewHighlights | undefined)[] | undefined;
213015
214243
 
213016
214244
  [key: string]: any;
213017
214245
  }
@@ -213042,6 +214270,9 @@ address of the local establishment for which the reviews are collected */
213042
214270
  /** rating of the corresponding local establishment
213043
214271
  popularity rate based on reviews and displayed in SERP */
213044
214272
  rating?: RatingInfo | undefined;
214273
+ /** rating distribution by votes
214274
+ the distribution of votes across the rating in the range from 1 to 5 */
214275
+ rating_distribution?: { [key: string]: number; } | undefined;
213045
214276
  /** the number of reviews items in the results array
213046
214277
  you can get more results by using the depth parameter when setting a task */
213047
214278
  items_count?: number | undefined;
@@ -213077,6 +214308,13 @@ you can get more results by using the depth parameter when setting a task */
213077
214308
  this.location = _data["location"];
213078
214309
  this.reviews_count = _data["reviews_count"];
213079
214310
  this.rating = _data["rating"] ? RatingInfo.fromJS(_data["rating"]) : <any>undefined;
214311
+ if (_data["rating_distribution"]) {
214312
+ this.rating_distribution = {} as any;
214313
+ for (let key in _data["rating_distribution"]) {
214314
+ if (_data["rating_distribution"].hasOwnProperty(key))
214315
+ (<any>this.rating_distribution)![key] = _data["rating_distribution"][key];
214316
+ }
214317
+ }
213080
214318
  this.items_count = _data["items_count"];
213081
214319
  if (Array.isArray(_data["items"])) {
213082
214320
  this.items = [] as any;
@@ -213109,6 +214347,13 @@ you can get more results by using the depth parameter when setting a task */
213109
214347
  data["location"] = this.location;
213110
214348
  data["reviews_count"] = this.reviews_count;
213111
214349
  data["rating"] = this.rating ? this.rating.toJSON() : <any>undefined;
214350
+ if (this.rating_distribution) {
214351
+ data["rating_distribution"] = {};
214352
+ for (let key in this.rating_distribution) {
214353
+ if (this.rating_distribution.hasOwnProperty(key))
214354
+ (<any>data["rating_distribution"])[key] = (<any>this.rating_distribution)[key];
214355
+ }
214356
+ }
213112
214357
  data["items_count"] = this.items_count;
213113
214358
  if (Array.isArray(this.items)) {
213114
214359
  data["items"] = [];
@@ -213146,6 +214391,9 @@ address of the local establishment for which the reviews are collected */
213146
214391
  /** rating of the corresponding local establishment
213147
214392
  popularity rate based on reviews and displayed in SERP */
213148
214393
  rating?: RatingInfo | undefined;
214394
+ /** rating distribution by votes
214395
+ the distribution of votes across the rating in the range from 1 to 5 */
214396
+ rating_distribution?: { [key: string]: number; } | undefined;
213149
214397
  /** the number of reviews items in the results array
213150
214398
  you can get more results by using the depth parameter when setting a task */
213151
214399
  items_count?: number | undefined;
@@ -214438,62 +215686,6 @@ export interface IAppendixBingKeywordsDataLimitsRatesDataInfo {
214438
215686
  [key: string]: any;
214439
215687
  }
214440
215688
 
214441
- export class AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo implements IAppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo {
214442
- task_get?: number | undefined;
214443
- task_post?: number | undefined;
214444
- locations_and_languages?: number | undefined;
214445
-
214446
- [key: string]: any;
214447
-
214448
- constructor(data?: IAppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo) {
214449
- if (data) {
214450
- for (var property in data) {
214451
- if (data.hasOwnProperty(property))
214452
- (<any>this)[property] = (<any>data)[property];
214453
- }
214454
- }
214455
- }
214456
-
214457
- init(_data?: any) {
214458
- if (_data) {
214459
- for (var property in _data) {
214460
- if (_data.hasOwnProperty(property))
214461
- this[property] = _data[property];
214462
- }
214463
- this.task_get = _data["task_get"];
214464
- this.task_post = _data["task_post"];
214465
- this.locations_and_languages = _data["locations_and_languages"];
214466
- }
214467
- }
214468
-
214469
- static fromJS(data: any): AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo {
214470
- data = typeof data === 'object' ? data : {};
214471
- let result = new AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo();
214472
- result.init(data);
214473
- return result;
214474
- }
214475
-
214476
- toJSON(data?: any) {
214477
- data = typeof data === 'object' ? data : {};
214478
- for (var property in this) {
214479
- if (this.hasOwnProperty(property))
214480
- data[property] = this[property];
214481
- }
214482
- data["task_get"] = this.task_get;
214483
- data["task_post"] = this.task_post;
214484
- data["locations_and_languages"] = this.locations_and_languages;
214485
- return data;
214486
- }
214487
- }
214488
-
214489
- export interface IAppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo {
214490
- task_get?: number | undefined;
214491
- task_post?: number | undefined;
214492
- locations_and_languages?: number | undefined;
214493
-
214494
- [key: string]: any;
214495
- }
214496
-
214497
215689
  export class AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo implements IAppendixGoogleAdsKeywordsDataLimitsRatesDataInfo {
214498
215690
  status?: number | undefined;
214499
215691
  search_volume?: AppendixInfo | undefined;
@@ -214630,7 +215822,8 @@ export class AppendixKeywordsDataDaysRatesDataInfo implements IAppendixKeywordsD
214630
215822
  categories?: number | undefined;
214631
215823
  errors?: number | undefined;
214632
215824
  bing?: AppendixBingKeywordsDataLimitsRatesDataInfo | undefined;
214633
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo | undefined;
215825
+ keyword_performance?: AppendixInfo | undefined;
215826
+ locations_and_languages?: number | undefined;
214634
215827
  search_volume_history?: AppendixInfo | undefined;
214635
215828
  google_ads?: AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo | undefined;
214636
215829
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo | undefined;
@@ -214663,7 +215856,8 @@ export class AppendixKeywordsDataDaysRatesDataInfo implements IAppendixKeywordsD
214663
215856
  this.categories = _data["categories"];
214664
215857
  this.errors = _data["errors"];
214665
215858
  this.bing = _data["bing"] ? AppendixBingKeywordsDataLimitsRatesDataInfo.fromJS(_data["bing"]) : <any>undefined;
214666
- this.keyword_performance = _data["keyword_performance"] ? AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo.fromJS(_data["keyword_performance"]) : <any>undefined;
215859
+ this.keyword_performance = _data["keyword_performance"] ? AppendixInfo.fromJS(_data["keyword_performance"]) : <any>undefined;
215860
+ this.locations_and_languages = _data["locations_and_languages"];
214667
215861
  this.search_volume_history = _data["search_volume_history"] ? AppendixInfo.fromJS(_data["search_volume_history"]) : <any>undefined;
214668
215862
  this.google_ads = _data["google_ads"] ? AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo.fromJS(_data["google_ads"]) : <any>undefined;
214669
215863
  this.dataforseo_trends = _data["dataforseo_trends"] ? AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo.fromJS(_data["dataforseo_trends"]) : <any>undefined;
@@ -214695,6 +215889,7 @@ export class AppendixKeywordsDataDaysRatesDataInfo implements IAppendixKeywordsD
214695
215889
  data["errors"] = this.errors;
214696
215890
  data["bing"] = this.bing ? this.bing.toJSON() : <any>undefined;
214697
215891
  data["keyword_performance"] = this.keyword_performance ? this.keyword_performance.toJSON() : <any>undefined;
215892
+ data["locations_and_languages"] = this.locations_and_languages;
214698
215893
  data["search_volume_history"] = this.search_volume_history ? this.search_volume_history.toJSON() : <any>undefined;
214699
215894
  data["google_ads"] = this.google_ads ? this.google_ads.toJSON() : <any>undefined;
214700
215895
  data["dataforseo_trends"] = this.dataforseo_trends ? this.dataforseo_trends.toJSON() : <any>undefined;
@@ -214714,7 +215909,8 @@ export interface IAppendixKeywordsDataDaysRatesDataInfo {
214714
215909
  categories?: number | undefined;
214715
215910
  errors?: number | undefined;
214716
215911
  bing?: AppendixBingKeywordsDataLimitsRatesDataInfo | undefined;
214717
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo | undefined;
215912
+ keyword_performance?: AppendixInfo | undefined;
215913
+ locations_and_languages?: number | undefined;
214718
215914
  search_volume_history?: AppendixInfo | undefined;
214719
215915
  google_ads?: AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo | undefined;
214720
215916
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo | undefined;
@@ -216472,7 +217668,8 @@ export class AppendixKeywordsDataDataInfo implements IAppendixKeywordsDataDataIn
216472
217668
  categories?: number | undefined;
216473
217669
  errors?: number | undefined;
216474
217670
  bing?: AppendixBingKeywordsDataLimitsRatesDataInfo | undefined;
216475
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo | undefined;
217671
+ keyword_performance?: AppendixInfo | undefined;
217672
+ locations_and_languages?: number | undefined;
216476
217673
  search_volume_history?: AppendixInfo | undefined;
216477
217674
  google_ads?: AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo | undefined;
216478
217675
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo | undefined;
@@ -216508,7 +217705,8 @@ export class AppendixKeywordsDataDataInfo implements IAppendixKeywordsDataDataIn
216508
217705
  this.categories = _data["categories"];
216509
217706
  this.errors = _data["errors"];
216510
217707
  this.bing = _data["bing"] ? AppendixBingKeywordsDataLimitsRatesDataInfo.fromJS(_data["bing"]) : <any>undefined;
216511
- this.keyword_performance = _data["keyword_performance"] ? AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo.fromJS(_data["keyword_performance"]) : <any>undefined;
217708
+ this.keyword_performance = _data["keyword_performance"] ? AppendixInfo.fromJS(_data["keyword_performance"]) : <any>undefined;
217709
+ this.locations_and_languages = _data["locations_and_languages"];
216512
217710
  this.search_volume_history = _data["search_volume_history"] ? AppendixInfo.fromJS(_data["search_volume_history"]) : <any>undefined;
216513
217711
  this.google_ads = _data["google_ads"] ? AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo.fromJS(_data["google_ads"]) : <any>undefined;
216514
217712
  this.dataforseo_trends = _data["dataforseo_trends"] ? AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo.fromJS(_data["dataforseo_trends"]) : <any>undefined;
@@ -216543,6 +217741,7 @@ export class AppendixKeywordsDataDataInfo implements IAppendixKeywordsDataDataIn
216543
217741
  data["errors"] = this.errors;
216544
217742
  data["bing"] = this.bing ? this.bing.toJSON() : <any>undefined;
216545
217743
  data["keyword_performance"] = this.keyword_performance ? this.keyword_performance.toJSON() : <any>undefined;
217744
+ data["locations_and_languages"] = this.locations_and_languages;
216546
217745
  data["search_volume_history"] = this.search_volume_history ? this.search_volume_history.toJSON() : <any>undefined;
216547
217746
  data["google_ads"] = this.google_ads ? this.google_ads.toJSON() : <any>undefined;
216548
217747
  data["dataforseo_trends"] = this.dataforseo_trends ? this.dataforseo_trends.toJSON() : <any>undefined;
@@ -216565,7 +217764,8 @@ export interface IAppendixKeywordsDataDataInfo {
216565
217764
  categories?: number | undefined;
216566
217765
  errors?: number | undefined;
216567
217766
  bing?: AppendixBingKeywordsDataLimitsRatesDataInfo | undefined;
216568
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataLimitsRatesDataInfo | undefined;
217767
+ keyword_performance?: AppendixInfo | undefined;
217768
+ locations_and_languages?: number | undefined;
216569
217769
  search_volume_history?: AppendixInfo | undefined;
216570
217770
  google_ads?: AppendixGoogleAdsKeywordsDataLimitsRatesDataInfo | undefined;
216571
217771
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataLimitsRatesDataInfo | undefined;
@@ -217384,13 +218584,13 @@ export interface IAppendixTaskKeywordsDataPriceDataInfo {
217384
218584
  [key: string]: any;
217385
218585
  }
217386
218586
 
217387
- export class AppendixKeywordsKeywordsDataPriceDataInfo implements IAppendixKeywordsKeywordsDataPriceDataInfo {
218587
+ export class AppendixKeywordsDataPriceDataInfo implements IAppendixKeywordsDataPriceDataInfo {
217388
218588
  task_get?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217389
218589
  task_post?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217390
218590
 
217391
218591
  [key: string]: any;
217392
218592
 
217393
- constructor(data?: IAppendixKeywordsKeywordsDataPriceDataInfo) {
218593
+ constructor(data?: IAppendixKeywordsDataPriceDataInfo) {
217394
218594
  if (data) {
217395
218595
  for (var property in data) {
217396
218596
  if (data.hasOwnProperty(property))
@@ -217410,9 +218610,9 @@ export class AppendixKeywordsKeywordsDataPriceDataInfo implements IAppendixKeywo
217410
218610
  }
217411
218611
  }
217412
218612
 
217413
- static fromJS(data: any): AppendixKeywordsKeywordsDataPriceDataInfo {
218613
+ static fromJS(data: any): AppendixKeywordsDataPriceDataInfo {
217414
218614
  data = typeof data === 'object' ? data : {};
217415
- let result = new AppendixKeywordsKeywordsDataPriceDataInfo();
218615
+ let result = new AppendixKeywordsDataPriceDataInfo();
217416
218616
  result.init(data);
217417
218617
  return result;
217418
218618
  }
@@ -217429,7 +218629,7 @@ export class AppendixKeywordsKeywordsDataPriceDataInfo implements IAppendixKeywo
217429
218629
  }
217430
218630
  }
217431
218631
 
217432
- export interface IAppendixKeywordsKeywordsDataPriceDataInfo {
218632
+ export interface IAppendixKeywordsDataPriceDataInfo {
217433
218633
  task_get?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217434
218634
  task_post?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217435
218635
 
@@ -217612,62 +218812,6 @@ export interface IAppendixGoogleAdsKeywordsDataPriceData {
217612
218812
  [key: string]: any;
217613
218813
  }
217614
218814
 
217615
- export class AppendixKeywordPerformanceKeywordsDataPriceData implements IAppendixKeywordPerformanceKeywordsDataPriceData {
217616
- locations_and_languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217617
- task_get?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217618
- task_post?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217619
-
217620
- [key: string]: any;
217621
-
217622
- constructor(data?: IAppendixKeywordPerformanceKeywordsDataPriceData) {
217623
- if (data) {
217624
- for (var property in data) {
217625
- if (data.hasOwnProperty(property))
217626
- (<any>this)[property] = (<any>data)[property];
217627
- }
217628
- }
217629
- }
217630
-
217631
- init(_data?: any) {
217632
- if (_data) {
217633
- for (var property in _data) {
217634
- if (_data.hasOwnProperty(property))
217635
- this[property] = _data[property];
217636
- }
217637
- this.locations_and_languages = _data["locations_and_languages"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["locations_and_languages"]) : <any>undefined;
217638
- this.task_get = _data["task_get"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["task_get"]) : <any>undefined;
217639
- this.task_post = _data["task_post"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["task_post"]) : <any>undefined;
217640
- }
217641
- }
217642
-
217643
- static fromJS(data: any): AppendixKeywordPerformanceKeywordsDataPriceData {
217644
- data = typeof data === 'object' ? data : {};
217645
- let result = new AppendixKeywordPerformanceKeywordsDataPriceData();
217646
- result.init(data);
217647
- return result;
217648
- }
217649
-
217650
- toJSON(data?: any) {
217651
- data = typeof data === 'object' ? data : {};
217652
- for (var property in this) {
217653
- if (this.hasOwnProperty(property))
217654
- data[property] = this[property];
217655
- }
217656
- data["locations_and_languages"] = this.locations_and_languages ? this.locations_and_languages.toJSON() : <any>undefined;
217657
- data["task_get"] = this.task_get ? this.task_get.toJSON() : <any>undefined;
217658
- data["task_post"] = this.task_post ? this.task_post.toJSON() : <any>undefined;
217659
- return data;
217660
- }
217661
- }
217662
-
217663
- export interface IAppendixKeywordPerformanceKeywordsDataPriceData {
217664
- locations_and_languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217665
- task_get?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217666
- task_post?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217667
-
217668
- [key: string]: any;
217669
- }
217670
-
217671
218815
  export class AppendixDataforseoTrendsKeywordsDataPriceData implements IAppendixDataforseoTrendsKeywordsDataPriceData {
217672
218816
  demography?: AppendixKeywordBingKeywordsDataPriceDataInfo | undefined;
217673
218817
  explore?: AppendixKeywordBingKeywordsDataPriceDataInfo | undefined;
@@ -217786,18 +218930,19 @@ export interface IAppendixExploreKeywordsDataPriceData {
217786
218930
 
217787
218931
  export class AppendixKeywordsDataPriceData implements IAppendixKeywordsDataPriceData {
217788
218932
  tasks_ready?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217789
- ad_traffic_by_keywords?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
218933
+ ad_traffic_by_keywords?: AppendixKeywordsDataPriceDataInfo | undefined;
217790
218934
  bing?: AppendixBingKeywordsDataPriceData | undefined;
217791
218935
  categories?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217792
218936
  errors?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217793
218937
  google_ads?: AppendixGoogleAdsKeywordsDataPriceData | undefined;
217794
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataPriceData | undefined;
217795
- keywords_for_keywords?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
217796
- keywords_for_site?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
218938
+ keyword_performance?: AppendixKeywordsDataPriceDataInfo | undefined;
218939
+ keywords_for_keywords?: AppendixKeywordsDataPriceDataInfo | undefined;
218940
+ keywords_for_site?: AppendixKeywordsDataPriceDataInfo | undefined;
217797
218941
  languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217798
218942
  locations?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217799
- search_volume_history?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
217800
- search_volume?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
218943
+ locations_and_languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218944
+ search_volume_history?: AppendixKeywordsDataPriceDataInfo | undefined;
218945
+ search_volume?: AppendixKeywordsDataPriceDataInfo | undefined;
217801
218946
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataPriceData | undefined;
217802
218947
  explore?: AppendixExploreKeywordsDataPriceData | undefined;
217803
218948
 
@@ -217819,18 +218964,19 @@ export class AppendixKeywordsDataPriceData implements IAppendixKeywordsDataPrice
217819
218964
  this[property] = _data[property];
217820
218965
  }
217821
218966
  this.tasks_ready = _data["tasks_ready"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["tasks_ready"]) : <any>undefined;
217822
- this.ad_traffic_by_keywords = _data["ad_traffic_by_keywords"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["ad_traffic_by_keywords"]) : <any>undefined;
218967
+ this.ad_traffic_by_keywords = _data["ad_traffic_by_keywords"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["ad_traffic_by_keywords"]) : <any>undefined;
217823
218968
  this.bing = _data["bing"] ? AppendixBingKeywordsDataPriceData.fromJS(_data["bing"]) : <any>undefined;
217824
218969
  this.categories = _data["categories"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["categories"]) : <any>undefined;
217825
218970
  this.errors = _data["errors"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["errors"]) : <any>undefined;
217826
218971
  this.google_ads = _data["google_ads"] ? AppendixGoogleAdsKeywordsDataPriceData.fromJS(_data["google_ads"]) : <any>undefined;
217827
- this.keyword_performance = _data["keyword_performance"] ? AppendixKeywordPerformanceKeywordsDataPriceData.fromJS(_data["keyword_performance"]) : <any>undefined;
217828
- this.keywords_for_keywords = _data["keywords_for_keywords"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["keywords_for_keywords"]) : <any>undefined;
217829
- this.keywords_for_site = _data["keywords_for_site"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["keywords_for_site"]) : <any>undefined;
218972
+ this.keyword_performance = _data["keyword_performance"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["keyword_performance"]) : <any>undefined;
218973
+ this.keywords_for_keywords = _data["keywords_for_keywords"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["keywords_for_keywords"]) : <any>undefined;
218974
+ this.keywords_for_site = _data["keywords_for_site"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["keywords_for_site"]) : <any>undefined;
217830
218975
  this.languages = _data["languages"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["languages"]) : <any>undefined;
217831
218976
  this.locations = _data["locations"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["locations"]) : <any>undefined;
217832
- this.search_volume_history = _data["search_volume_history"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["search_volume_history"]) : <any>undefined;
217833
- this.search_volume = _data["search_volume"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["search_volume"]) : <any>undefined;
218977
+ this.locations_and_languages = _data["locations_and_languages"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["locations_and_languages"]) : <any>undefined;
218978
+ this.search_volume_history = _data["search_volume_history"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["search_volume_history"]) : <any>undefined;
218979
+ this.search_volume = _data["search_volume"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["search_volume"]) : <any>undefined;
217834
218980
  this.dataforseo_trends = _data["dataforseo_trends"] ? AppendixDataforseoTrendsKeywordsDataPriceData.fromJS(_data["dataforseo_trends"]) : <any>undefined;
217835
218981
  this.explore = _data["explore"] ? AppendixExploreKeywordsDataPriceData.fromJS(_data["explore"]) : <any>undefined;
217836
218982
  }
@@ -217860,6 +219006,7 @@ export class AppendixKeywordsDataPriceData implements IAppendixKeywordsDataPrice
217860
219006
  data["keywords_for_site"] = this.keywords_for_site ? this.keywords_for_site.toJSON() : <any>undefined;
217861
219007
  data["languages"] = this.languages ? this.languages.toJSON() : <any>undefined;
217862
219008
  data["locations"] = this.locations ? this.locations.toJSON() : <any>undefined;
219009
+ data["locations_and_languages"] = this.locations_and_languages ? this.locations_and_languages.toJSON() : <any>undefined;
217863
219010
  data["search_volume_history"] = this.search_volume_history ? this.search_volume_history.toJSON() : <any>undefined;
217864
219011
  data["search_volume"] = this.search_volume ? this.search_volume.toJSON() : <any>undefined;
217865
219012
  data["dataforseo_trends"] = this.dataforseo_trends ? this.dataforseo_trends.toJSON() : <any>undefined;
@@ -217870,18 +219017,19 @@ export class AppendixKeywordsDataPriceData implements IAppendixKeywordsDataPrice
217870
219017
 
217871
219018
  export interface IAppendixKeywordsDataPriceData {
217872
219019
  tasks_ready?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217873
- ad_traffic_by_keywords?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
219020
+ ad_traffic_by_keywords?: AppendixKeywordsDataPriceDataInfo | undefined;
217874
219021
  bing?: AppendixBingKeywordsDataPriceData | undefined;
217875
219022
  categories?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217876
219023
  errors?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217877
219024
  google_ads?: AppendixGoogleAdsKeywordsDataPriceData | undefined;
217878
- keyword_performance?: AppendixKeywordPerformanceKeywordsDataPriceData | undefined;
217879
- keywords_for_keywords?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
217880
- keywords_for_site?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
219025
+ keyword_performance?: AppendixKeywordsDataPriceDataInfo | undefined;
219026
+ keywords_for_keywords?: AppendixKeywordsDataPriceDataInfo | undefined;
219027
+ keywords_for_site?: AppendixKeywordsDataPriceDataInfo | undefined;
217881
219028
  languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217882
219029
  locations?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
217883
- search_volume_history?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
217884
- search_volume?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
219030
+ locations_and_languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
219031
+ search_volume_history?: AppendixKeywordsDataPriceDataInfo | undefined;
219032
+ search_volume?: AppendixKeywordsDataPriceDataInfo | undefined;
217885
219033
  dataforseo_trends?: AppendixDataforseoTrendsKeywordsDataPriceData | undefined;
217886
219034
  explore?: AppendixExploreKeywordsDataPriceData | undefined;
217887
219035
 
@@ -218349,9 +219497,9 @@ export interface IAppendixMerchantPriceData {
218349
219497
  }
218350
219498
 
218351
219499
  export class AppendixSerpPriceDataInfo implements IAppendixSerpPriceDataInfo {
218352
- advanced?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218353
219500
  regular?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218354
219501
  html?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
219502
+ advanced?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218355
219503
 
218356
219504
  [key: string]: any;
218357
219505
 
@@ -218370,9 +219518,9 @@ export class AppendixSerpPriceDataInfo implements IAppendixSerpPriceDataInfo {
218370
219518
  if (_data.hasOwnProperty(property))
218371
219519
  this[property] = _data[property];
218372
219520
  }
218373
- this.advanced = _data["advanced"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["advanced"]) : <any>undefined;
218374
219521
  this.regular = _data["regular"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["regular"]) : <any>undefined;
218375
219522
  this.html = _data["html"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["html"]) : <any>undefined;
219523
+ this.advanced = _data["advanced"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["advanced"]) : <any>undefined;
218376
219524
  }
218377
219525
  }
218378
219526
 
@@ -218389,17 +219537,17 @@ export class AppendixSerpPriceDataInfo implements IAppendixSerpPriceDataInfo {
218389
219537
  if (this.hasOwnProperty(property))
218390
219538
  data[property] = this[property];
218391
219539
  }
218392
- data["advanced"] = this.advanced ? this.advanced.toJSON() : <any>undefined;
218393
219540
  data["regular"] = this.regular ? this.regular.toJSON() : <any>undefined;
218394
219541
  data["html"] = this.html ? this.html.toJSON() : <any>undefined;
219542
+ data["advanced"] = this.advanced ? this.advanced.toJSON() : <any>undefined;
218395
219543
  return data;
218396
219544
  }
218397
219545
  }
218398
219546
 
218399
219547
  export interface IAppendixSerpPriceDataInfo {
218400
- advanced?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218401
219548
  regular?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218402
219549
  html?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
219550
+ advanced?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218403
219551
 
218404
219552
  [key: string]: any;
218405
219553
  }
@@ -218407,7 +219555,7 @@ export interface IAppendixSerpPriceDataInfo {
218407
219555
  export class AppendixSerpPriceData implements IAppendixSerpPriceData {
218408
219556
  tasks_fixed?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218409
219557
  errors?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218410
- jobs?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
219558
+ jobs?: AppendixKeywordsDataPriceDataInfo | undefined;
218411
219559
  languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218412
219560
  live?: AppendixSerpPriceDataInfo | undefined;
218413
219561
  locations?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
@@ -218435,7 +219583,7 @@ export class AppendixSerpPriceData implements IAppendixSerpPriceData {
218435
219583
  }
218436
219584
  this.tasks_fixed = _data["tasks_fixed"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["tasks_fixed"]) : <any>undefined;
218437
219585
  this.errors = _data["errors"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["errors"]) : <any>undefined;
218438
- this.jobs = _data["jobs"] ? AppendixKeywordsKeywordsDataPriceDataInfo.fromJS(_data["jobs"]) : <any>undefined;
219586
+ this.jobs = _data["jobs"] ? AppendixKeywordsDataPriceDataInfo.fromJS(_data["jobs"]) : <any>undefined;
218439
219587
  this.languages = _data["languages"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["languages"]) : <any>undefined;
218440
219588
  this.live = _data["live"] ? AppendixSerpPriceDataInfo.fromJS(_data["live"]) : <any>undefined;
218441
219589
  this.locations = _data["locations"] ? AppendixTaskKeywordsDataPriceDataInfo.fromJS(_data["locations"]) : <any>undefined;
@@ -218476,7 +219624,7 @@ export class AppendixSerpPriceData implements IAppendixSerpPriceData {
218476
219624
  export interface IAppendixSerpPriceData {
218477
219625
  tasks_fixed?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218478
219626
  errors?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218479
- jobs?: AppendixKeywordsKeywordsDataPriceDataInfo | undefined;
219627
+ jobs?: AppendixKeywordsDataPriceDataInfo | undefined;
218480
219628
  languages?: AppendixTaskKeywordsDataPriceDataInfo | undefined;
218481
219629
  live?: AppendixSerpPriceDataInfo | undefined;
218482
219630
  locations?: AppendixTaskKeywordsDataPriceDataInfo | undefined;