@seranking/n8n-nodes-seranking 2.0.0 → 2.0.2

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
@@ -1,6 +1,6 @@
1
1
  # n8n-nodes-seranking
2
2
 
3
- This is an n8n custom node that lets you use [SE Ranking](https://seranking.com/) in your n8n workflows.
3
+ n8n community node for [SE Ranking](https://seranking.com/)'s unified API 190 operations across 21 resources: AI Search, Backlinks, Domain Analysis, Keyword Research, SERP Classic, Website Audits, Project Management, Competitors, Backlink Checker, Sub-Accounts, and more.
4
4
 
5
5
  SE Ranking is a comprehensive SEO platform providing keyword research, competitor analysis, website audits, backlink monitoring, and AI search visibility tracking.
6
6
 
@@ -183,11 +183,11 @@ If you're upgrading and have saved credentials of type `seRankingProjectApi`, yo
183
183
 
184
184
  - **n8n version**: 1.0.0 or higher
185
185
  - **Node.js version**: 18.x or higher
186
- - **SE Ranking API**: v1 (Data API) + Project API (`api4.seranking.com`)
186
+ - **SE Ranking API**: unified host `api.seranking.com/v1`
187
187
 
188
188
  ## Operations
189
189
 
190
- This node provides access to **20 SE Ranking resources** with **172 total operations** across two API types:
190
+ This node provides access to **21 SE Ranking resources** with **190 total operations** on the unified API:
191
191
 
192
192
  ### Data API (6 resources, 65 operations)
193
193
 
@@ -703,33 +703,57 @@ return dominated;
703
703
 
704
704
  ## API Documentation
705
705
 
706
- This node implements the following SE Ranking APIs:
706
+ This node implements the SE Ranking unified API (`api.seranking.com/v1`):
707
707
 
708
- **Data API** (`api.seranking.com/v1`):
709
- - [AI Search API](https://seranking.com/api/data/ai-search/)
710
- - [Backlinks API](https://seranking.com/api/data/backlinks/)
711
- - [Domain Analysis API](https://seranking.com/api/data/domain-analysis/)
712
- - [Keyword Research API](https://seranking.com/api/data/keyword-research/)
713
- - [Website Audit API](https://seranking.com/api/data/website-audit/)
714
- - [SERP API](https://seranking.com/api/data/serp/)
708
+ **Data API resources:**
709
+ - [AI Search](https://seranking.com/api/data/ai-search/)
710
+ - [Backlinks](https://seranking.com/api/data/backlinks/)
711
+ - [Domain Analysis](https://seranking.com/api/data/domain-analysis/)
712
+ - [Keyword Research](https://seranking.com/api/data/keyword-research/)
713
+ - [Website Audit](https://seranking.com/api/data/website-audit/)
715
714
 
716
- **Project API** (`api4.seranking.com`):
717
- - [Project API Documentation](https://seranking.com/api/project/)
715
+ **Project API resources** (under `/v1/project-management/`):
716
+ - [Project Management](https://seranking.com/api/project/project-management/)
717
+ - [AI Result Tracker](https://seranking.com/api/project/ai-result-tracker/)
718
+ - [Competitors](https://seranking.com/api/project/competitors/)
719
+ - [Backlink Checker](https://seranking.com/api/project/backlink-checker/)
720
+ - [Website Audit (Project)](https://seranking.com/api/project/audit/)
721
+ - [And more...](https://seranking.com/api/project/)
718
722
 
719
- For detailed API specifications, visit [SE Ranking API Documentation](https://seranking.com/api.html).
723
+ For detailed API specifications, visit [SE Ranking API Documentation](https://seranking.com/api/).
720
724
 
721
725
  ---
722
726
 
723
727
  ## Version History
724
728
 
725
- ### v1.5.8 (Current)
729
+ ### v2.0.1 (Current)
726
730
 
727
- * **NEW: Get Prompt Answer (AI Result Tracker)** - Returns full AI answer text, cited source URLs, detected brand mentions, and (for Google AI Overview) top organic URLs for a tracked prompt on a given date. Cost: 0 credits.
728
- * 📝 **Note on SE Ranking docs quirk** - The endpoint's path param is documented as `keyword_id` but actually requires `k2site_llm_id` from `List Prompts`. The node field is labeled accordingly.
731
+ * 🐛 **FIX: Keyword Groups Move Keywords** was returning 400; API expects body key `keywords_ids` (plural), not `keyword_ids`
732
+ * 🐛 **FIX: Sub-Account Share Projects** `site_ids` must be a single integer per request; now loops one call per site so multiple IDs work
733
+ * 🐛 **FIX: Backlink Checker → Move to Group** — added missing Target Group ID field to the UI
734
+
735
+ ### v2.0.0
736
+
737
+ * **BREAKING: API Unification** — single credential, single host (`api.seranking.com`). Old `seRankingProjectApi` credential type removed. Re-save affected nodes with unified `SE Ranking API` credential.
738
+ * ✅ **10 new operations** — List Check Dates, Get Ranking Trends, Audit Settings (get/update/reset), Audit Sitemaps (list/add/delete), Audit Source Pages (list/delete), AIRT Rankings group mode
739
+ * 🐛 **FIX: Update Audit Title** — was returning 400 since April 2026, now works
740
+ * 🐛 **FIX: Run Position Check** — /api/ prefix bug resolved by unification
741
+ * ⚠️ **Deprecated: Search Volume + Volume Regions** — 6 ops return 404 on unified host (friendly error with guidance)
742
+ * 📊 **Total: 190 operations across 21 resources**
743
+
744
+ ### v1.5.13
745
+
746
+ * ✅ **NEW: AIRT Groups resource (8 operations)** — manage AI Result Tracker prompt groups
747
+ * ✅ **NEW: Dynamic Issue Code dropdown** — Get Pages by Issue auto-populates from audit report
748
+ * 🐛 **FIX: Run Position Check URL** — removed incorrect `/api/` prefix
749
+
750
+ ### v1.5.8
751
+
752
+ * ✅ **NEW: Get Prompt Answer (AI Result Tracker)** - Returns full AI answer text, cited source URLs, detected brand mentions, and organic URLs for a tracked prompt.
729
753
 
730
754
  ### v1.3.6
731
755
 
732
- * 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function for n8n verified node compliance
756
+ * 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function
733
757
 
734
758
  ### v1.3.5
735
759
 
@@ -802,7 +826,7 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
802
826
 
803
827
  ## Features
804
828
 
805
- ✅ **172 Operations** - Comprehensive coverage across 20 resources (Data API + Project API)
829
+ ✅ **190 Operations** - Comprehensive coverage across 21 resources (unified API)
806
830
 
807
831
  ✅ **Pingback Webhooks** - Event-driven notifications for SERP task completion
808
832
 
@@ -885,7 +909,7 @@ For more details, see [n8n's rate limiting documentation](https://docs.n8n.io/in
885
909
  **Solution**:
886
910
 
887
911
  1. Verify API token is correct (copy from SE Ranking dashboard)
888
- 2. For Project API resources, ensure the SE Ranking Project API credential is configured
912
+ 2. Ensure your SE Ranking API credential has the correct unified token
889
913
  3. Check token hasn't expired
890
914
  4. Regenerate token in SE Ranking dashboard if needed
891
915
  5. Test credentials using the "Test" button in n8n
@@ -510,6 +510,20 @@ exports.backlinkCheckerFields = [
510
510
  default: '',
511
511
  description: 'New name for the backlink group',
512
512
  },
513
+ {
514
+ displayName: 'Target Group ID',
515
+ name: 'targetGroupId',
516
+ type: 'number',
517
+ required: true,
518
+ displayOptions: {
519
+ show: {
520
+ resource: ['backlinkChecker'],
521
+ operation: ['moveToGroup'],
522
+ },
523
+ },
524
+ default: 0,
525
+ description: 'Destination backlink group ID to move backlinks/groups into',
526
+ },
513
527
  {
514
528
  displayName: 'Backlink IDs',
515
529
  name: 'backlinkIds',
@@ -128,7 +128,7 @@ async function AiResultTrackerOperations(index) {
128
128
  const llmId = this.getNodeParameter('llmId', index);
129
129
  const k2siteLlmId = this.getNodeParameter('k2siteLlmId', index);
130
130
  const additionalFields = this.getNodeParameter('additionalFields', index, {});
131
- const query = { site_id: siteId, llm_id: llmId, k2site_llm_id: k2siteLlmId };
131
+ const query = { site_id: siteId, llm_id: llmId, prompt_llm_id: k2siteLlmId };
132
132
  if (additionalFields.date)
133
133
  query.date = additionalFields.date;
134
134
  return await apiRequest_1.apiRequest.call(this, 'GET', '/project-management/airt/prompts/answer', {}, query, index);
@@ -25,7 +25,7 @@ async function KeywordGroupsOperations(index) {
25
25
  const keywordIdsStr = this.getNodeParameter('keywordIds', index);
26
26
  const keywordIds = keywordIdsStr.split(',').map((id) => parseInt(id.trim(), 10));
27
27
  await apiRequest_1.apiRequest.call(this, 'POST', '/project-management/keywords/groups/move', {
28
- keyword_ids: keywordIds,
28
+ keywords_ids: keywordIds,
29
29
  }, { group_id: groupId }, index);
30
30
  return { success: true, group_id: groupId, moved_keywords: keywordIds };
31
31
  }
@@ -90,7 +90,12 @@ async function SubAccountOperations(index) {
90
90
  const id = this.getNodeParameter('subAccountId', index);
91
91
  const siteIdsStr = this.getNodeParameter('siteIds', index);
92
92
  const siteIds = siteIdsStr.split(',').map((s) => parseInt(s.trim(), 10));
93
- return await apiRequest_1.apiRequest.call(this, 'POST', '/project-management/users/shared-sites', { site_ids: siteIds }, { user_id: id }, index);
93
+ const shared = [];
94
+ for (const siteId of siteIds) {
95
+ await apiRequest_1.apiRequest.call(this, 'POST', `/project-management/users/shared-sites?user_id=${id}`, { site_ids: siteId }, {}, index);
96
+ shared.push(siteId);
97
+ }
98
+ return { success: true, user_id: id, shared_sites: shared };
94
99
  }
95
100
  default:
96
101
  throw new Error(`Unknown Sub-Account operation: ${operation}`);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@seranking/n8n-nodes-seranking",
3
- "version": "2.0.0",
4
- "description": "n8n connector for SE Ranking API (unified host, single token). Resources: AI Search, Backlinks, Domain Analysis, Keyword Research, Website Audit, Project Management, Project Groups, AI Result Tracker, AIRT Groups, Keyword Groups, Competitors, URL Tags, Analytics Traffic, Account System, Sub-Account Management, General Data, Marketing Plan, Backlink Checker, Search Volume",
3
+ "version": "2.0.2",
4
+ "description": "n8n community node for SE Ranking's unified API 190 operations across 21 resources: AI Search, Backlinks, Domain Analysis, Keyword Research, SERP Classic, Website Audits, Project Management, Competitors, Backlink Checker, Sub-Accounts, and more",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/seranking/n8n-nodes-seranking",
7
7
  "author": {