@seranking/n8n-nodes-seranking 1.3.6 → 1.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -236,9 +236,9 @@ This node provides access to 6 SE Ranking resources with 62 total operations:
236
236
  ### Keyword Research (5 operations)
237
237
 
238
238
  - Export Metrics - Bulk keyword metrics (up to 700 keywords)
239
- - Get Similar Keywords - Semantically similar suggestions
240
- - Get Related Keywords - Topically related keywords
241
- - Get Question Keywords - Question-based variations
239
+ - Get Similar Keywords - Semantically similar suggestions with full filter support (traffic, difficulty, intents, SERP features, word count, and more)
240
+ - Get Related Keywords - Topically related keywords with full filter support (traffic, difficulty, intents, SERP features, word count, and more)
241
+ - Get Question Keywords - Question-based variations with full filter support (traffic, difficulty, intents, SERP features, word count, and more)
242
242
  - Get Longtail Keywords - Long-tail opportunities
243
243
 
244
244
  ### Website Audit (14 operations)
@@ -556,7 +556,11 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
556
556
 
557
557
  ## Version History
558
558
 
559
- ### v1.3.5 (Current)
559
+ ### v1.3.6 (Current)
560
+
561
+ * 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function for n8n verified node compliance
562
+
563
+ ### v1.3.5
560
564
 
561
565
  * ✅ **NEW: SERP Pingback URL** - Webhook notifications when SERP tasks complete
562
566
  * ✅ **NEW: AI Search Leaderboard** - Compare visibility against competitors across LLMs
@@ -655,6 +659,8 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
655
659
 
656
660
  ✅ **SERP Tracking** - Keyword ranking and SERP features analysis
657
661
 
662
+ ✅ **Advanced Filtering** - Volume, position, CPC, difficulty, traffic, search intent, SERP features, keyword word count, and include/exclude keyword pattern filters
663
+
658
664
  ---
659
665
 
660
666
  ## Limitations
@@ -666,7 +672,18 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
666
672
  - **API Credits**: Some operations consume API credits (check your plan)
667
673
 
668
674
  ---
675
+ ## Rate Limiting
676
+
677
+ This node includes built-in rate limiting (300ms delay between requests) to help prevent hitting SE Ranking API limits.
669
678
 
679
+ If you still encounter "429 Too Many Requests" errors when processing large amounts of data, you can use n8n's built-in solutions:
680
+
681
+ 1. **Retry On Fail**: Open node Settings → enable "Retry On Fail" → set "Wait Between Tries" to 1000ms or more
682
+ 2. **Split In Batches + Wait**: Use the "Loop Over Items" node to process items in smaller batches with a "Wait" node between requests
683
+
684
+ For more details, see [n8n's rate limiting documentation](https://docs.n8n.io/integrations/builtin/rate-limits/).
685
+
686
+ ---
670
687
  ## Troubleshooting
671
688
 
672
689
  ### Pingback Not Received
@@ -198,10 +198,10 @@ exports.domainAnalysisFields = [
198
198
  description: 'Type of search data to retrieve',
199
199
  },
200
200
  {
201
- displayName: 'Additional Options',
202
- name: 'additionalOptions',
201
+ displayName: 'Additional Fields',
202
+ name: 'additionalFields',
203
203
  type: 'collection',
204
- placeholder: 'Add Option',
204
+ placeholder: 'Add Field',
205
205
  default: {},
206
206
  displayOptions: {
207
207
  show: {
@@ -224,7 +224,7 @@ exports.domainAnalysisFields = [
224
224
  },
225
225
  {
226
226
  displayName: 'Order Field',
227
- name: 'order_field',
227
+ name: 'orderField',
228
228
  type: 'options',
229
229
  options: [
230
230
  { name: 'Keywords Count', value: 'keywords_count' },
@@ -237,7 +237,7 @@ exports.domainAnalysisFields = [
237
237
  },
238
238
  {
239
239
  displayName: 'Order Type',
240
- name: 'order_type',
240
+ name: 'orderType',
241
241
  type: 'options',
242
242
  options: [
243
243
  { name: 'Ascending', value: 'asc' },
@@ -262,7 +262,7 @@ exports.domainAnalysisFields = [
262
262
  },
263
263
  {
264
264
  displayName: 'URL Filter',
265
- name: 'filter_domain_url',
265
+ name: 'filterDomainUrl',
266
266
  type: 'string',
267
267
  default: '',
268
268
  placeholder: '/blog/',
@@ -270,59 +270,59 @@ exports.domainAnalysisFields = [
270
270
  },
271
271
  {
272
272
  displayName: 'Traffic Percent From',
273
- name: 'filter_traffic_percent_from',
273
+ name: 'filterTrafficPercentFrom',
274
274
  type: 'number',
275
275
  default: 0,
276
- description: 'Minimum traffic percentage (0-100)',
276
+ description: 'Minimum traffic percentage (0100)',
277
277
  },
278
278
  {
279
279
  displayName: 'Traffic Percent To',
280
- name: 'filter_traffic_percent_to',
280
+ name: 'filterTrafficPercentTo',
281
281
  type: 'number',
282
282
  default: 100,
283
- description: 'Maximum traffic percentage (0-100)',
283
+ description: 'Maximum traffic percentage (0100)',
284
284
  },
285
285
  {
286
286
  displayName: 'Keywords Count From',
287
- name: 'filter_keywords_count_from',
287
+ name: 'filterKeywordsCountFrom',
288
288
  type: 'number',
289
289
  default: 0,
290
290
  description: 'Minimum number of keywords',
291
291
  },
292
292
  {
293
293
  displayName: 'Keywords Count To',
294
- name: 'filter_keywords_count_to',
294
+ name: 'filterKeywordsCountTo',
295
295
  type: 'number',
296
296
  default: 0,
297
297
  description: 'Maximum number of keywords (0 = no limit)',
298
298
  },
299
299
  {
300
300
  displayName: 'Traffic Sum From',
301
- name: 'filter_traffic_sum_from',
301
+ name: 'filterTrafficSumFrom',
302
302
  type: 'number',
303
303
  default: 0,
304
304
  description: 'Minimum total traffic',
305
305
  },
306
306
  {
307
307
  displayName: 'Traffic Sum To',
308
- name: 'filter_traffic_sum_to',
308
+ name: 'filterTrafficSumTo',
309
309
  type: 'number',
310
310
  default: 0,
311
311
  description: 'Maximum total traffic (0 = no limit)',
312
312
  },
313
313
  {
314
314
  displayName: 'Price Sum From',
315
- name: 'filter_price_sum_from',
315
+ name: 'filterPriceSumFrom',
316
316
  type: 'number',
317
317
  default: 0,
318
- description: 'Minimum traffic value',
318
+ description: 'Minimum traffic value (PPC equivalent)',
319
319
  },
320
320
  {
321
321
  displayName: 'Price Sum To',
322
- name: 'filter_price_sum_to',
322
+ name: 'filterPriceSumTo',
323
323
  type: 'number',
324
324
  default: 0,
325
- description: 'Maximum traffic value (0 = no limit)',
325
+ description: 'Maximum traffic value (PPC equivalent, 0 = no limit)',
326
326
  },
327
327
  ],
328
328
  },
@@ -356,6 +356,32 @@ exports.domainAnalysisFields = [
356
356
  placeholder: 'us',
357
357
  description: 'Regional database code (e.g., us, uk, de, fr, es, it, ca, au, pl)',
358
358
  },
359
+ {
360
+ displayName: 'Scope',
361
+ name: 'scope',
362
+ type: 'options',
363
+ required: true,
364
+ displayOptions: {
365
+ show: {
366
+ resource: ['domainAnalysis'],
367
+ operation: ['getDomainSubdomains'],
368
+ },
369
+ },
370
+ options: [
371
+ {
372
+ name: 'Base Domain',
373
+ value: 'base_domain',
374
+ description: 'Aggregate subdomains under the registrable domain',
375
+ },
376
+ {
377
+ name: 'Domain',
378
+ value: 'domain',
379
+ description: 'Aggregate subdomains under the specified host',
380
+ },
381
+ ],
382
+ default: 'base_domain',
383
+ description: 'Scope of the subdomain analysis',
384
+ },
359
385
  {
360
386
  displayName: 'Type',
361
387
  name: 'type',
@@ -375,10 +401,10 @@ exports.domainAnalysisFields = [
375
401
  description: 'Type of search data to retrieve',
376
402
  },
377
403
  {
378
- displayName: 'Additional Options',
379
- name: 'additionalOptions',
404
+ displayName: 'Additional Fields',
405
+ name: 'additionalFields',
380
406
  type: 'collection',
381
- placeholder: 'Add Option',
407
+ placeholder: 'Add Field',
382
408
  default: {},
383
409
  displayOptions: {
384
410
  show: {
@@ -389,7 +415,7 @@ exports.domainAnalysisFields = [
389
415
  options: [
390
416
  {
391
417
  displayName: 'Order Field',
392
- name: 'order_field',
418
+ name: 'orderField',
393
419
  type: 'options',
394
420
  options: [
395
421
  { name: 'Keywords Count', value: 'keywords_count' },
@@ -402,7 +428,7 @@ exports.domainAnalysisFields = [
402
428
  },
403
429
  {
404
430
  displayName: 'Order Type',
405
- name: 'order_type',
431
+ name: 'orderType',
406
432
  type: 'options',
407
433
  options: [
408
434
  { name: 'Ascending', value: 'asc' },
@@ -426,68 +452,68 @@ exports.domainAnalysisFields = [
426
452
  description: 'Maximum number of results (max 1000)',
427
453
  },
428
454
  {
429
- displayName: 'URL Filter',
430
- name: 'filter_domain_url',
455
+ displayName: 'Subdomain Filter',
456
+ name: 'filterDomainUrl',
431
457
  type: 'string',
432
458
  default: '',
433
459
  placeholder: 'blog',
434
- description: 'Filter subdomains by URL pattern',
460
+ description: 'Filter subdomains by text pattern',
435
461
  },
436
462
  {
437
463
  displayName: 'Traffic Percent From',
438
- name: 'filter_traffic_percent_from',
464
+ name: 'filterTrafficPercentFrom',
439
465
  type: 'number',
440
466
  default: 0,
441
- description: 'Minimum traffic percentage (0-100)',
467
+ description: 'Minimum traffic percentage (0100)',
442
468
  },
443
469
  {
444
470
  displayName: 'Traffic Percent To',
445
- name: 'filter_traffic_percent_to',
471
+ name: 'filterTrafficPercentTo',
446
472
  type: 'number',
447
473
  default: 100,
448
- description: 'Maximum traffic percentage (0-100)',
474
+ description: 'Maximum traffic percentage (0100)',
449
475
  },
450
476
  {
451
477
  displayName: 'Keywords Count From',
452
- name: 'filter_keywords_count_from',
478
+ name: 'filterKeywordsCountFrom',
453
479
  type: 'number',
454
480
  default: 0,
455
481
  description: 'Minimum number of keywords',
456
482
  },
457
483
  {
458
484
  displayName: 'Keywords Count To',
459
- name: 'filter_keywords_count_to',
485
+ name: 'filterKeywordsCountTo',
460
486
  type: 'number',
461
487
  default: 0,
462
488
  description: 'Maximum number of keywords (0 = no limit)',
463
489
  },
464
490
  {
465
491
  displayName: 'Traffic Sum From',
466
- name: 'filter_traffic_sum_from',
492
+ name: 'filterTrafficSumFrom',
467
493
  type: 'number',
468
494
  default: 0,
469
- description: 'Minimum total traffic',
495
+ description: 'Minimum estimated monthly traffic',
470
496
  },
471
497
  {
472
498
  displayName: 'Traffic Sum To',
473
- name: 'filter_traffic_sum_to',
499
+ name: 'filterTrafficSumTo',
474
500
  type: 'number',
475
501
  default: 0,
476
- description: 'Maximum total traffic (0 = no limit)',
502
+ description: 'Maximum estimated monthly traffic (0 = no limit)',
477
503
  },
478
504
  {
479
505
  displayName: 'Price Sum From',
480
- name: 'filter_price_sum_from',
506
+ name: 'filterPriceSumFrom',
481
507
  type: 'number',
482
508
  default: 0,
483
- description: 'Minimum traffic value',
509
+ description: 'Minimum traffic value (PPC equivalent)',
484
510
  },
485
511
  {
486
512
  displayName: 'Price Sum To',
487
- name: 'filter_price_sum_to',
513
+ name: 'filterPriceSumTo',
488
514
  type: 'number',
489
515
  default: 0,
490
- description: 'Maximum traffic value (0 = no limit)',
516
+ description: 'Maximum traffic value (PPC equivalent, 0 = no limit)',
491
517
  },
492
518
  ],
493
519
  },
@@ -556,16 +582,8 @@ exports.domainAnalysisFields = [
556
582
  },
557
583
  },
558
584
  options: [
559
- {
560
- name: 'Organic',
561
- value: 'organic',
562
- description: 'Organic search results',
563
- },
564
- {
565
- name: 'Paid (Ads)',
566
- value: 'adv',
567
- description: 'Paid advertising results',
568
- },
585
+ { name: 'Organic', value: 'organic', description: 'Organic search results' },
586
+ { name: 'Paid (Ads)', value: 'adv', description: 'Paid advertising results' },
569
587
  ],
570
588
  default: 'organic',
571
589
  description: 'Type of search results to analyze',
@@ -582,7 +600,7 @@ exports.domainAnalysisFields = [
582
600
  },
583
601
  options: [
584
602
  {
585
- name: 'Common Keywords (A ∩ B)',
603
+ name: 'Common Keywords (A B)',
586
604
  value: '0',
587
605
  description: 'Keywords both domains rank for',
588
606
  },
@@ -688,28 +706,30 @@ exports.domainAnalysisFields = [
688
706
  type: 'number',
689
707
  default: 1,
690
708
  description: 'Page number for pagination',
691
- typeOptions: {
692
- minValue: 1,
693
- },
709
+ typeOptions: { minValue: 1 },
694
710
  },
695
711
  {
696
712
  displayName: 'Limit',
697
713
  name: 'limit',
698
714
  type: 'number',
699
715
  default: 100,
700
- description: 'Maximum number of results to return (1-1000)',
701
- typeOptions: {
702
- minValue: 1,
703
- maxValue: 1000,
704
- },
716
+ description: 'Maximum number of results to return (11000)',
717
+ typeOptions: { minValue: 1, maxValue: 1000 },
718
+ },
719
+ {
720
+ displayName: 'Include Subdomains',
721
+ name: 'withSubdomains',
722
+ type: 'boolean',
723
+ default: true,
724
+ description: 'Whether to include keywords ranking for subdomains',
705
725
  },
706
726
  {
707
727
  displayName: 'Columns',
708
728
  name: 'cols',
709
729
  type: 'string',
710
730
  default: '',
711
- placeholder: 'keyword,position,volume,cpc,url',
712
- description: 'Comma-separated list of columns to return',
731
+ placeholder: 'keyword,position,volume,url,difficulty',
732
+ description: 'Comma-separated list of columns to return (leave empty for defaults)',
713
733
  },
714
734
  {
715
735
  displayName: 'Order Field',
@@ -735,7 +755,7 @@ exports.domainAnalysisFields = [
735
755
  { name: 'Descending', value: 'desc' },
736
756
  ],
737
757
  default: 'desc',
738
- description: 'Order of sorting',
758
+ description: 'Sort order direction',
739
759
  },
740
760
  {
741
761
  displayName: 'Position Change',
@@ -751,43 +771,177 @@ exports.domainAnalysisFields = [
751
771
  { name: 'Same', value: 'same' },
752
772
  ],
753
773
  default: '',
754
- description: 'Filter by position changes',
774
+ description: 'Filter by position change vs. the previous period',
755
775
  },
756
776
  {
757
777
  displayName: 'Volume From',
758
778
  name: 'volumeFrom',
759
779
  type: 'number',
760
780
  default: 0,
761
- description: 'Minimum search volume filter',
781
+ description: 'Minimum monthly search volume',
762
782
  },
763
783
  {
764
784
  displayName: 'Volume To',
765
785
  name: 'volumeTo',
766
786
  type: 'number',
767
787
  default: 0,
768
- description: 'Maximum search volume filter (0 = no limit)',
788
+ description: 'Maximum monthly search volume (0 = no limit)',
789
+ },
790
+ {
791
+ displayName: 'Traffic From',
792
+ name: 'trafficFrom',
793
+ type: 'number',
794
+ default: 0,
795
+ description: 'Minimum estimated monthly traffic',
796
+ },
797
+ {
798
+ displayName: 'Traffic To',
799
+ name: 'trafficTo',
800
+ type: 'number',
801
+ default: 0,
802
+ description: 'Maximum estimated monthly traffic (0 = no limit)',
803
+ },
804
+ {
805
+ displayName: 'Traffic Percent From',
806
+ name: 'trafficPercentFrom',
807
+ type: 'number',
808
+ default: 0,
809
+ description: 'Minimum traffic share percentage',
810
+ },
811
+ {
812
+ displayName: 'Traffic Percent To',
813
+ name: 'trafficPercentTo',
814
+ type: 'number',
815
+ default: 0,
816
+ description: 'Maximum traffic share percentage (0 = no limit)',
769
817
  },
770
818
  {
771
819
  displayName: 'Position From',
772
820
  name: 'positionFrom',
773
821
  type: 'number',
774
822
  default: 1,
775
- description: 'Minimum position filter',
776
- typeOptions: {
777
- minValue: 1,
778
- maxValue: 100,
779
- },
823
+ description: 'Minimum ranking position',
824
+ typeOptions: { minValue: 1, maxValue: 100 },
780
825
  },
781
826
  {
782
827
  displayName: 'Position To',
783
828
  name: 'positionTo',
784
829
  type: 'number',
785
830
  default: 100,
786
- description: 'Maximum position filter',
787
- typeOptions: {
788
- minValue: 1,
789
- maxValue: 100,
790
- },
831
+ description: 'Maximum ranking position',
832
+ typeOptions: { minValue: 1, maxValue: 100 },
833
+ },
834
+ {
835
+ displayName: 'Keyword Word Count From',
836
+ name: 'keywordCountFrom',
837
+ type: 'number',
838
+ default: 0,
839
+ description: 'Minimum number of words in a keyword phrase',
840
+ typeOptions: { minValue: 1 },
841
+ },
842
+ {
843
+ displayName: 'Keyword Word Count To',
844
+ name: 'keywordCountTo',
845
+ type: 'number',
846
+ default: 0,
847
+ description: 'Maximum number of words in a keyword phrase (0 = no limit)',
848
+ },
849
+ {
850
+ displayName: 'Characters Count From',
851
+ name: 'charactersCountFrom',
852
+ type: 'number',
853
+ default: 0,
854
+ description: 'Minimum character length of keyword phrases',
855
+ typeOptions: { minValue: 1 },
856
+ },
857
+ {
858
+ displayName: 'Characters Count To',
859
+ name: 'charactersCountTo',
860
+ type: 'number',
861
+ default: 0,
862
+ description: 'Maximum character length of keyword phrases (0 = no limit)',
863
+ },
864
+ {
865
+ displayName: 'CPC From',
866
+ name: 'cpcFrom',
867
+ type: 'number',
868
+ default: 0,
869
+ description: 'Minimum cost per click',
870
+ },
871
+ {
872
+ displayName: 'CPC To',
873
+ name: 'cpcTo',
874
+ type: 'number',
875
+ default: 0,
876
+ description: 'Maximum cost per click (0 = no limit)',
877
+ },
878
+ {
879
+ displayName: 'Price From',
880
+ name: 'priceFrom',
881
+ type: 'number',
882
+ default: 0,
883
+ description: 'Minimum keyword price value',
884
+ },
885
+ {
886
+ displayName: 'Price To',
887
+ name: 'priceTo',
888
+ type: 'number',
889
+ default: 0,
890
+ description: 'Maximum keyword price value (0 = no limit)',
891
+ },
892
+ {
893
+ displayName: 'Competition From',
894
+ name: 'competitionFrom',
895
+ type: 'number',
896
+ default: 0,
897
+ description: 'Minimum competition score (0.0–1.0)',
898
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
899
+ },
900
+ {
901
+ displayName: 'Competition To',
902
+ name: 'competitionTo',
903
+ type: 'number',
904
+ default: 1,
905
+ description: 'Maximum competition score (0.0–1.0)',
906
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
907
+ },
908
+ {
909
+ displayName: 'Difficulty From',
910
+ name: 'difficultyFrom',
911
+ type: 'number',
912
+ default: 0,
913
+ description: 'Minimum keyword difficulty score (0–100)',
914
+ typeOptions: { minValue: 0, maxValue: 100 },
915
+ },
916
+ {
917
+ displayName: 'Difficulty To',
918
+ name: 'difficultyTo',
919
+ type: 'number',
920
+ default: 100,
921
+ description: 'Maximum keyword difficulty score (0–100)',
922
+ typeOptions: { minValue: 0, maxValue: 100 },
923
+ },
924
+ {
925
+ displayName: 'SERP Features',
926
+ name: 'serpFeatures',
927
+ type: 'string',
928
+ default: '',
929
+ placeholder: 'featured_snippet,local_pack,sitelinks',
930
+ description: 'Comma-separated list of SERP feature codes to filter by (e.g., featured_snippet, local_pack, sitelinks). See SE Ranking docs for all accepted values.',
931
+ },
932
+ {
933
+ displayName: 'Search Intents',
934
+ name: 'intents',
935
+ type: 'multiOptions',
936
+ options: [
937
+ { name: 'Informational (I)', value: 'I' },
938
+ { name: 'Navigational (N)', value: 'N' },
939
+ { name: 'Transactional (T)', value: 'T' },
940
+ { name: 'Commercial (C)', value: 'C' },
941
+ { name: 'Local (L)', value: 'L' },
942
+ ],
943
+ default: [],
944
+ description: 'Filter keywords by search intent',
791
945
  },
792
946
  ],
793
947
  },
@@ -810,20 +964,15 @@ exports.domainAnalysisFields = [
810
964
  type: 'number',
811
965
  default: 1,
812
966
  description: 'Page number for pagination',
813
- typeOptions: {
814
- minValue: 1,
815
- },
967
+ typeOptions: { minValue: 1 },
816
968
  },
817
969
  {
818
970
  displayName: 'Limit',
819
971
  name: 'limit',
820
972
  type: 'number',
821
973
  default: 100,
822
- description: 'Maximum number of results to return (1-1000)',
823
- typeOptions: {
824
- minValue: 1,
825
- maxValue: 1000,
826
- },
974
+ description: 'Maximum number of results to return (11000)',
975
+ typeOptions: { minValue: 1, maxValue: 1000 },
827
976
  },
828
977
  {
829
978
  displayName: 'Columns',
@@ -859,7 +1008,7 @@ exports.domainAnalysisFields = [
859
1008
  { name: 'Descending', value: 'desc' },
860
1009
  ],
861
1010
  default: 'asc',
862
- description: 'Order of sorting',
1011
+ description: 'Sort order direction',
863
1012
  },
864
1013
  ],
865
1014
  },
@@ -927,20 +1076,15 @@ exports.domainAnalysisFields = [
927
1076
  type: 'number',
928
1077
  default: 1,
929
1078
  description: 'Page number for pagination',
930
- typeOptions: {
931
- minValue: 1,
932
- },
1079
+ typeOptions: { minValue: 1 },
933
1080
  },
934
1081
  {
935
1082
  displayName: 'Limit',
936
1083
  name: 'limit',
937
1084
  type: 'number',
938
1085
  default: 100,
939
- description: 'Maximum number of domains to return (1-100)',
940
- typeOptions: {
941
- minValue: 1,
942
- maxValue: 100,
943
- },
1086
+ description: 'Maximum number of domains to return (1100)',
1087
+ typeOptions: { minValue: 1, maxValue: 100 },
944
1088
  },
945
1089
  ],
946
1090
  },
@@ -979,20 +1123,15 @@ exports.domainAnalysisFields = [
979
1123
  type: 'number',
980
1124
  default: 1,
981
1125
  description: 'Page number for pagination',
982
- typeOptions: {
983
- minValue: 1,
984
- },
1126
+ typeOptions: { minValue: 1 },
985
1127
  },
986
1128
  {
987
1129
  displayName: 'Limit',
988
1130
  name: 'limit',
989
1131
  type: 'number',
990
1132
  default: 100,
991
- description: 'Maximum number of keywords to return (1-100)',
992
- typeOptions: {
993
- minValue: 1,
994
- maxValue: 100,
995
- },
1133
+ description: 'Maximum number of keywords to return (1100)',
1134
+ typeOptions: { minValue: 1, maxValue: 100 },
996
1135
  },
997
1136
  ],
998
1137
  },