@seranking/n8n-nodes-seranking 1.3.7 → 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.
@@ -66,9 +66,7 @@ exports.keywordResearchFields = [
66
66
  displayName: 'Keywords',
67
67
  name: 'keywords',
68
68
  type: 'string',
69
- typeOptions: {
70
- rows: 5,
71
- },
69
+ typeOptions: { rows: 5 },
72
70
  required: true,
73
71
  displayOptions: {
74
72
  show: {
@@ -146,7 +144,198 @@ exports.keywordResearchFields = [
146
144
  { name: 'Descending', value: 'desc' },
147
145
  ],
148
146
  default: 'desc',
149
- description: 'Order of sorting',
147
+ description: 'Sort order direction',
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ displayName: 'Additional Fields',
153
+ name: 'additionalFields',
154
+ type: 'collection',
155
+ placeholder: 'Add Field',
156
+ default: {},
157
+ displayOptions: {
158
+ show: {
159
+ resource: ['keywordResearch'],
160
+ operation: ['getSimilar', 'getRelated'],
161
+ },
162
+ },
163
+ options: [
164
+ {
165
+ displayName: 'Limit',
166
+ name: 'limit',
167
+ type: 'number',
168
+ default: 100,
169
+ description: 'Maximum number of keywords to return',
170
+ typeOptions: { minValue: 1, maxValue: 1000 },
171
+ },
172
+ {
173
+ displayName: 'Offset',
174
+ name: 'offset',
175
+ type: 'number',
176
+ default: 0,
177
+ description: 'Number of results to skip for pagination',
178
+ typeOptions: { minValue: 0 },
179
+ },
180
+ {
181
+ displayName: 'Sort By',
182
+ name: 'sort',
183
+ type: 'options',
184
+ options: [
185
+ { name: 'Keyword', value: 'keyword' },
186
+ { name: 'Volume', value: 'volume' },
187
+ { name: 'CPC', value: 'cpc' },
188
+ { name: 'Competition', value: 'competition' },
189
+ { name: 'Difficulty', value: 'difficulty' },
190
+ ],
191
+ default: 'volume',
192
+ description: 'Field to sort results by',
193
+ },
194
+ {
195
+ displayName: 'Sort Order',
196
+ name: 'sortOrder',
197
+ type: 'options',
198
+ options: [
199
+ { name: 'Ascending', value: 'asc' },
200
+ { name: 'Descending', value: 'desc' },
201
+ ],
202
+ default: 'desc',
203
+ description: 'Sort order direction',
204
+ },
205
+ {
206
+ displayName: 'Include History Trend',
207
+ name: 'historyTrend',
208
+ type: 'boolean',
209
+ default: false,
210
+ description: 'Whether to include 12 months of historical search volume data',
211
+ },
212
+ {
213
+ displayName: 'Volume From',
214
+ name: 'volumeFrom',
215
+ type: 'number',
216
+ default: 0,
217
+ description: 'Minimum monthly search volume filter',
218
+ },
219
+ {
220
+ displayName: 'Volume To',
221
+ name: 'volumeTo',
222
+ type: 'number',
223
+ default: 0,
224
+ description: 'Maximum monthly search volume filter (0 = no limit)',
225
+ },
226
+ {
227
+ displayName: 'Difficulty From',
228
+ name: 'difficultyFrom',
229
+ type: 'number',
230
+ default: 0,
231
+ description: 'Minimum keyword difficulty score (0–100)',
232
+ typeOptions: { minValue: 0, maxValue: 100 },
233
+ },
234
+ {
235
+ displayName: 'Difficulty To',
236
+ name: 'difficultyTo',
237
+ type: 'number',
238
+ default: 100,
239
+ description: 'Maximum keyword difficulty score (0–100)',
240
+ typeOptions: { minValue: 0, maxValue: 100 },
241
+ },
242
+ {
243
+ displayName: 'CPC From',
244
+ name: 'cpcFrom',
245
+ type: 'number',
246
+ default: 0,
247
+ description: 'Minimum cost per click',
248
+ },
249
+ {
250
+ displayName: 'CPC To',
251
+ name: 'cpcTo',
252
+ type: 'number',
253
+ default: 0,
254
+ description: 'Maximum cost per click (0 = no limit)',
255
+ },
256
+ {
257
+ displayName: 'Competition From',
258
+ name: 'competitionFrom',
259
+ type: 'number',
260
+ default: 0,
261
+ description: 'Minimum competition score (0.0–1.0)',
262
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
263
+ },
264
+ {
265
+ displayName: 'Competition To',
266
+ name: 'competitionTo',
267
+ type: 'number',
268
+ default: 1,
269
+ description: 'Maximum competition score (0.0–1.0)',
270
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
271
+ },
272
+ {
273
+ displayName: 'Keyword Word Count From',
274
+ name: 'keywordCountFrom',
275
+ type: 'number',
276
+ default: 0,
277
+ description: 'Minimum number of words in the keyword',
278
+ typeOptions: { minValue: 1 },
279
+ },
280
+ {
281
+ displayName: 'Keyword Word Count To',
282
+ name: 'keywordCountTo',
283
+ type: 'number',
284
+ default: 0,
285
+ description: 'Maximum number of words in the keyword (0 = no limit)',
286
+ },
287
+ {
288
+ displayName: 'Characters Count From',
289
+ name: 'charactersCountFrom',
290
+ type: 'number',
291
+ default: 0,
292
+ description: 'Minimum character length of the keyword',
293
+ typeOptions: { minValue: 1 },
294
+ },
295
+ {
296
+ displayName: 'Characters Count To',
297
+ name: 'charactersCountTo',
298
+ type: 'number',
299
+ default: 0,
300
+ description: 'Maximum character length of the keyword (0 = no limit)',
301
+ },
302
+ {
303
+ displayName: 'SERP Features',
304
+ name: 'serpFeatures',
305
+ type: 'string',
306
+ default: '',
307
+ placeholder: 'sge,images,top_stories',
308
+ description: 'Comma-separated list of SERP feature codes to filter by (e.g., sge, images, top_stories). See SE Ranking docs for all accepted values.',
309
+ },
310
+ {
311
+ displayName: 'Search Intents',
312
+ name: 'intents',
313
+ type: 'multiOptions',
314
+ options: [
315
+ { name: 'Informational (I)', value: 'I' },
316
+ { name: 'Navigational (N)', value: 'N' },
317
+ { name: 'Transactional (T)', value: 'T' },
318
+ { name: 'Commercial (C)', value: 'C' },
319
+ { name: 'Local (L)', value: 'L' },
320
+ ],
321
+ default: [],
322
+ description: 'Filter keywords by search intent',
323
+ },
324
+ {
325
+ displayName: 'Include Keywords Containing',
326
+ name: 'multiKeywordIncluded',
327
+ type: 'string',
328
+ default: '',
329
+ placeholder: 'best, top, review',
330
+ description: 'Comma-separated list of words that must appear in returned keywords (each word treated as a "contains" match)',
331
+ },
332
+ {
333
+ displayName: 'Exclude Keywords Containing',
334
+ name: 'multiKeywordExcluded',
335
+ type: 'string',
336
+ default: '',
337
+ placeholder: 'free, cheap',
338
+ description: 'Comma-separated list of words that must NOT appear in returned keywords (each word treated as a "contains" match)',
150
339
  },
151
340
  ],
152
341
  },
@@ -159,7 +348,7 @@ exports.keywordResearchFields = [
159
348
  displayOptions: {
160
349
  show: {
161
350
  resource: ['keywordResearch'],
162
- operation: ['getSimilar', 'getRelated', 'getQuestions'],
351
+ operation: ['getQuestions'],
163
352
  },
164
353
  },
165
354
  options: [
@@ -169,10 +358,7 @@ exports.keywordResearchFields = [
169
358
  type: 'number',
170
359
  default: 100,
171
360
  description: 'Maximum number of keywords to return',
172
- typeOptions: {
173
- minValue: 1,
174
- maxValue: 1000,
175
- },
361
+ typeOptions: { minValue: 1, maxValue: 1000 },
176
362
  },
177
363
  {
178
364
  displayName: 'Offset',
@@ -180,9 +366,7 @@ exports.keywordResearchFields = [
180
366
  type: 'number',
181
367
  default: 0,
182
368
  description: 'Number of results to skip for pagination',
183
- typeOptions: {
184
- minValue: 0,
185
- },
369
+ typeOptions: { minValue: 0 },
186
370
  },
187
371
  {
188
372
  displayName: 'Sort By',
@@ -207,7 +391,7 @@ exports.keywordResearchFields = [
207
391
  { name: 'Descending', value: 'desc' },
208
392
  ],
209
393
  default: 'desc',
210
- description: 'Order of sorting',
394
+ description: 'Sort order direction',
211
395
  },
212
396
  {
213
397
  displayName: 'Include History Trend',
@@ -235,60 +419,114 @@ exports.keywordResearchFields = [
235
419
  name: 'difficultyFrom',
236
420
  type: 'number',
237
421
  default: 0,
238
- description: 'Minimum keyword difficulty score (0-100)',
239
- typeOptions: {
240
- minValue: 0,
241
- maxValue: 100,
242
- },
422
+ description: 'Minimum keyword difficulty score (0100)',
423
+ typeOptions: { minValue: 0, maxValue: 100 },
243
424
  },
244
425
  {
245
426
  displayName: 'Difficulty To',
246
427
  name: 'difficultyTo',
247
428
  type: 'number',
248
429
  default: 100,
249
- description: 'Maximum keyword difficulty score (0-100)',
250
- typeOptions: {
251
- minValue: 0,
252
- maxValue: 100,
253
- },
430
+ description: 'Maximum keyword difficulty score (0100)',
431
+ typeOptions: { minValue: 0, maxValue: 100 },
254
432
  },
255
433
  {
256
434
  displayName: 'CPC From',
257
435
  name: 'cpcFrom',
258
436
  type: 'number',
259
437
  default: 0,
260
- description: 'Minimum cost per click filter',
438
+ description: 'Minimum cost per click',
261
439
  },
262
440
  {
263
441
  displayName: 'CPC To',
264
442
  name: 'cpcTo',
265
443
  type: 'number',
266
444
  default: 0,
267
- description: 'Maximum cost per click filter (0 = no limit)',
445
+ description: 'Maximum cost per click (0 = no limit)',
268
446
  },
269
447
  {
270
448
  displayName: 'Competition From',
271
449
  name: 'competitionFrom',
272
450
  type: 'number',
273
451
  default: 0,
274
- description: 'Minimum competition score (0.0-1.0)',
275
- typeOptions: {
276
- minValue: 0,
277
- maxValue: 1,
278
- numberPrecision: 2,
279
- },
452
+ description: 'Minimum competition score (0.01.0)',
453
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
280
454
  },
281
455
  {
282
456
  displayName: 'Competition To',
283
457
  name: 'competitionTo',
284
458
  type: 'number',
285
459
  default: 1,
286
- description: 'Maximum competition score (0.0-1.0)',
287
- typeOptions: {
288
- minValue: 0,
289
- maxValue: 1,
290
- numberPrecision: 2,
291
- },
460
+ description: 'Maximum competition score (0.01.0)',
461
+ typeOptions: { minValue: 0, maxValue: 1, numberPrecision: 2 },
462
+ },
463
+ {
464
+ displayName: 'Keyword Word Count From',
465
+ name: 'keywordCountFrom',
466
+ type: 'number',
467
+ default: 0,
468
+ description: 'Minimum number of words in the keyword',
469
+ typeOptions: { minValue: 1 },
470
+ },
471
+ {
472
+ displayName: 'Keyword Word Count To',
473
+ name: 'keywordCountTo',
474
+ type: 'number',
475
+ default: 0,
476
+ description: 'Maximum number of words in the keyword (0 = no limit)',
477
+ },
478
+ {
479
+ displayName: 'Characters Count From',
480
+ name: 'charactersCountFrom',
481
+ type: 'number',
482
+ default: 0,
483
+ description: 'Minimum character length of the keyword',
484
+ typeOptions: { minValue: 1 },
485
+ },
486
+ {
487
+ displayName: 'Characters Count To',
488
+ name: 'charactersCountTo',
489
+ type: 'number',
490
+ default: 0,
491
+ description: 'Maximum character length of the keyword (0 = no limit)',
492
+ },
493
+ {
494
+ displayName: 'SERP Features',
495
+ name: 'serpFeatures',
496
+ type: 'string',
497
+ default: '',
498
+ placeholder: 'sge,images,top_stories',
499
+ description: 'Comma-separated list of SERP feature codes to filter by (e.g., sge, images, top_stories). See SE Ranking docs for all accepted values.',
500
+ },
501
+ {
502
+ displayName: 'Search Intents',
503
+ name: 'intents',
504
+ type: 'multiOptions',
505
+ options: [
506
+ { name: 'Informational (I)', value: 'I' },
507
+ { name: 'Navigational (N)', value: 'N' },
508
+ { name: 'Transactional (T)', value: 'T' },
509
+ { name: 'Commercial (C)', value: 'C' },
510
+ { name: 'Local (L)', value: 'L' },
511
+ ],
512
+ default: [],
513
+ description: 'Filter keywords by search intent',
514
+ },
515
+ {
516
+ displayName: 'Include Keywords Containing',
517
+ name: 'multiKeywordIncluded',
518
+ type: 'string',
519
+ default: '',
520
+ placeholder: 'how, what, why',
521
+ description: 'Comma-separated list of words that must appear in returned keywords (each word treated as a "contains" match)',
522
+ },
523
+ {
524
+ displayName: 'Exclude Keywords Containing',
525
+ name: 'multiKeywordExcluded',
526
+ type: 'string',
527
+ default: '',
528
+ placeholder: 'free, cheap',
529
+ description: 'Comma-separated list of words that must NOT appear in returned keywords (each word treated as a "contains" match)',
292
530
  },
293
531
  ],
294
532
  },
@@ -311,10 +549,7 @@ exports.keywordResearchFields = [
311
549
  type: 'number',
312
550
  default: 100,
313
551
  description: 'Maximum number of keywords to return',
314
- typeOptions: {
315
- minValue: 1,
316
- maxValue: 1000,
317
- },
552
+ typeOptions: { minValue: 1, maxValue: 1000 },
318
553
  },
319
554
  {
320
555
  displayName: 'Offset',
@@ -322,9 +557,7 @@ exports.keywordResearchFields = [
322
557
  type: 'number',
323
558
  default: 0,
324
559
  description: 'Number of results to skip for pagination',
325
- typeOptions: {
326
- minValue: 0,
327
- },
560
+ typeOptions: { minValue: 0 },
328
561
  },
329
562
  ],
330
563
  },