Skip to content

feat: add DataForSEO extended operations (backlinks, SERP, people-als…#51

Merged
MAlshaik merged 1 commit into
wespreadjam:mainfrom
DheerajShrivastav:feat/dataforseo-extended-operations
Mar 27, 2026
Merged

feat: add DataForSEO extended operations (backlinks, SERP, people-als…#51
MAlshaik merged 1 commit into
wespreadjam:mainfrom
DheerajShrivastav:feat/dataforseo-extended-operations

Conversation

@DheerajShrivastav

Copy link
Copy Markdown
Contributor

feat: DataForSEO Extended Operations — Backlinks, SERP, People Also Ask

Closes #35


Summary

Adds three new DataForSEO integration nodes that extend the existing SEO toolset with backlink analysis and SERP data capabilities.


New Nodes

dataforseo_get_backlinks

Retrieves backlinks for a domain or URL via POST /backlinks/backlinks/live.

  • Inputs: target (domain/URL), limit (1–1000, default 100), optional filters (dofollow, anchorContains)
  • Output: backlinks[] (with urlFrom, urlTo, domainFrom, dofollow, anchor, pageFromRank, domainFromRank, firstSeen, lastSeen), totalCount, target
  • Logic: Supports combined filters with 'and' combinator when both dofollow and anchorContains are provided.

dataforseo_serp

Fetches Google organic SERP results for a keyword via POST /serp/google/organic/live/regular.

  • Inputs: keyword, location (default United States), device (desktop|mobile, default desktop), depth (10–100, default 10)
  • Output: results[] (organic items only, filtered by type === 'organic'), totalResults (from se_results_count), device
  • Logic: Automatically sets os: 'android' for mobile and os: 'windows' for desktop.

dataforseo_people_also_ask

Fetches "People Also Ask" questions via POST /serp/google/people_also_ask/live/regular.

  • Inputs: keyword, location (default United States), language (default en)
  • Output: questions[] (with question, optional answer, optional sourceUrl), totalQuestions
  • Logic: Filters response to type === 'people_also_ask' items and extracts nested people_also_ask_element entries.

Files Changed

File Change
packages/nodes/src/integrations/dataforseo/backlinks.ts New — Get Backlinks node
packages/nodes/src/integrations/dataforseo/people-also-ask.ts New — People Also Ask node
packages/nodes/src/integrations/dataforseo/serp.ts New — SERP node
packages/nodes/src/integrations/dataforseo/tests/dataforseo-extended.test.ts New — 27 Vitest tests
packages/nodes/src/integrations/dataforseo/index.ts Updated — new exports
packages/nodes/src/integrations/index.ts Updated — DataForSEO section
packages/nodes/src/index.ts Updated — named exports, type exports, builtInNodes

Testing

All 27 new tests pass. 152/152 total tests pass across the nodes package.

pnpm --filter @jam-nodes/nodes test
  • ✓ dataforseo-extended.test.ts (27 tests)
  • ✓ 152 passed (152) — 0 skipped

Coverage includes:

  • Node metadata verification (type/category)
  • Input schema validation (boundary cases)
  • Successful data mapping from API task results
  • Error handling for 4xx/5xx HTTP codes
  • Explicit check for DataForSEO status_code !== 20000
  • Missing credential guard

…o-ask)

- Add dataforseo_get_backlinks node (POST /backlinks/backlinks/live)
  - Supports target domain/URL, limit, dofollow and anchorContains filters
- Add dataforseo_people_also_ask node (POST /serp/google/people_also_ask/live/regular)
  - Extracts PAA questions with answers and source URLs
- Add dataforseo_serp node (POST /serp/google/organic/live/regular)
  - Returns organic SERP results filtered by type, supports desktop/mobile
- Add 27 Vitest tests in __tests__/dataforseo-extended.test.ts covering:
  - Node type/category metadata
  - Input schema validation (valid, invalid cases)
  - API success paths with correct output mapping
  - API error handling (HTTP errors, non-20000 status codes)
  - Missing apiToken guard
- Export all new nodes from dataforseo/index.ts, integrations/index.ts, and src/index.ts
- Register all three nodes in builtInNodes array

Closes wespreadjam#35
@MAlshaik MAlshaik merged commit 437fc70 into wespreadjam:main Mar 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Integration] DataForSEO - Extended operations (backlinks, SERP)

2 participants