@youdotcom-oss/n8n-nodes-youdotcom 0.1.0 → 0.2.0

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-youdotcom
2
2
 
3
- An n8n community node for integrating [You.com APIs](https://you.com/api) into your n8n workflows. Search the web, extract content from URLs, or get AI-powered answers with citations.
3
+ An n8n community node for integrating [You.com APIs](https://you.com/apis) into your n8n workflows. Search the web, extract content from URLs, or get AI-powered answers with citations.
4
4
 
5
5
  ## Installation
6
6
 
@@ -25,7 +25,7 @@ Search the web and news using You.com's search API.
25
25
 
26
26
  | Parameter | Required | Description |
27
27
  | ---------------- | -------- | ------------------------------------------------------- |
28
- | Query | Yes | The search query to retrieve relevant results |
28
+ | Query | Yes | The search query (supports search operators, see below) |
29
29
  | Count | No | Maximum number of results per section (1-100) |
30
30
  | Country | No | Country code for geographical focus (e.g., US, GB, DE) |
31
31
  | Freshness | No | Filter by recency: day, week, month, or year |
@@ -34,10 +34,22 @@ Search the web and news using You.com's search API.
34
34
  | Livecrawl Format | No | Format for livecrawled content (HTML or Markdown) |
35
35
  | Offset | No | Pagination offset (0-9) |
36
36
  | Safe Search | No | Content moderation: off, moderate, or strict |
37
- | Site | No | Restrict results to a specific domain |
38
- | File Type | No | Filter results by file type (e.g., pdf, doc) |
39
- | Exclude Terms | No | Terms to exclude (pipe-separated) |
40
- | Exact Terms | No | Require exact phrase matches (pipe-separated) |
37
+
38
+ **Search operators:**
39
+
40
+ Include these directly in your query to refine results. See [search operators documentation](https://docs.you.com/search/search-operators) for details.
41
+
42
+ | Operator | Example | Description |
43
+ | ---------- | ----------------------- | -------------------------------------------------- |
44
+ | `site:` | `site:github.com` | Restrict to a specific domain (including subdomains) |
45
+ | `filetype:`| `filetype:pdf` | Filter by file type |
46
+ | `+` | `+GAAP` | Require exact term in results |
47
+ | `-` | `-marketing` | Exclude exact term from results |
48
+ | `AND` | `Python AND PyTorch` | Logical AND to combine expressions |
49
+ | `OR` | `Python OR PyTorch` | Logical OR to combine expressions |
50
+ | `NOT` | `NOT site:example.com` | Negate an expression |
51
+
52
+ **Example:** `machine learning (Python OR PyTorch) -TensorFlow filetype:pdf` searches for ML content about Python or PyTorch, excluding TensorFlow, in PDF format.
41
53
 
42
54
  ### Get Contents
43
55
 
@@ -72,7 +84,7 @@ Get AI-generated answers with web search and citations. Perfect for RAG (Retriev
72
84
 
73
85
  ## Credentials
74
86
 
75
- 1. Visit [you.com/api](https://you.com/api) to get an API key
87
+ 1. Visit [you.com/platform/api-keys](https://you.com/platform/api-keys) to get an API key
76
88
  2. In n8n, go to **Credentials > New Credential**
77
89
  3. Search for "You.com API"
78
90
  4. Enter your API key and save
@@ -107,9 +119,10 @@ bun run check
107
119
  ## Resources
108
120
 
109
121
  - [You.com API Documentation](https://docs.you.com/)
110
- - [Search API Reference](https://docs.you.com/api-reference/search)
122
+ - [Search API Reference](https://docs.you.com/api-reference/search/v1-search)
123
+ - [Search Operators](https://docs.you.com/search/search-operators)
111
124
  - [Contents API Reference](https://docs.you.com/api-reference/search/contents)
112
- - [Express Agent Reference](https://docs.you.com/agents/overview#express-agent)
125
+ - [Express Agent Reference](https://docs.you.com/api-reference/agents/express-agent/express-agent-runs)
113
126
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
114
127
 
115
128
  ## License
@@ -14,7 +14,7 @@ class YouDotComApi {
14
14
  },
15
15
  default: "",
16
16
  required: true,
17
- description: 'Your You.com API key. Get one at <a href="https://you.com/api" target="_blank">you.com/api</a>'
17
+ description: 'Your You.com API key. Get one at <a href="https://you.com/platform/api-keys" target="_blank">you.com/platform/api-keys</a>'
18
18
  }
19
19
  ];
20
20
  authenticate = {
@@ -13548,18 +13548,12 @@ config(en_default());
13548
13548
  var SearchOptionsSchema = exports_external.object({
13549
13549
  count: exports_external.number().int().min(1).max(100).optional().describe("Number of search results to return (1-100)"),
13550
13550
  country: exports_external.string().optional().describe("Two-letter country code to filter results (e.g., US, GB)"),
13551
- excludeTerms: exports_external.string().optional().describe("Terms to exclude from search results"),
13552
- exactTerms: exports_external.string().optional().describe("Exact phrase to match in search results"),
13553
- fileType: exports_external.string().optional().describe("File type extension to filter results (e.g., pdf, doc)"),
13554
13551
  freshness: exports_external.enum(["day", "week", "month", "year"]).optional().describe("Filter results by recency"),
13555
13552
  language: exports_external.string().optional().describe("BCP 47 language code to filter results (e.g., en, es, fr)"),
13556
13553
  livecrawl: exports_external.enum(["web", "news", "all"]).optional().describe("Type of content to crawl in real-time"),
13557
13554
  livecrawl_formats: exports_external.enum(["html", "markdown"]).optional().describe("Format for live-crawled content"),
13558
13555
  offset: exports_external.number().int().min(0).max(9).optional().describe("Pagination offset for search results (0-9)"),
13559
- safesearch: exports_external.enum(["off", "moderate", "strict"]).optional().describe("Safe search filtering level"),
13560
- site: exports_external.string().optional().describe("Domain to restrict search results (e.g., example.com)").refine((val) => !val || /^[a-z0-9.-]+\.[a-z]{2,}$/i.test(val), {
13561
- message: "Must be a valid domain format (e.g., example.com)"
13562
- })
13556
+ safesearch: exports_external.enum(["off", "moderate", "strict"]).optional().describe("Safe search filtering level")
13563
13557
  });
13564
13558
  var WebResultSchema = exports_external.object({
13565
13559
  url: exports_external.string().describe("URL of the search result"),
@@ -13684,8 +13678,8 @@ class YouDotCom {
13684
13678
  }
13685
13679
  },
13686
13680
  default: "",
13687
- placeholder: "e.g., latest AI news",
13688
- description: "The search query to retrieve relevant results from the web. Supports search operators for refined searches."
13681
+ placeholder: "e.g., AI news site:github.com filetype:pdf",
13682
+ description: "The search query. Supports operators: site: (domain), filetype: (file type), + (require), - (exclude), AND, OR, NOT. Example: Python OR PyTorch -TensorFlow filetype:pdf"
13689
13683
  },
13690
13684
  {
13691
13685
  displayName: "Search Options",
@@ -13756,30 +13750,6 @@ class YouDotCom {
13756
13750
  { name: "United States", value: "US" }
13757
13751
  ]
13758
13752
  },
13759
- {
13760
- displayName: "Exact Terms",
13761
- name: "exactTerms",
13762
- type: "string",
13763
- default: "",
13764
- placeholder: "e.g., machine learning|AI",
13765
- description: 'Require exact phrase matches (pipe-separated, e.g., "machine learning|deep learning")'
13766
- },
13767
- {
13768
- displayName: "Exclude Terms",
13769
- name: "excludeTerms",
13770
- type: "string",
13771
- default: "",
13772
- placeholder: "e.g., spam|ads",
13773
- description: 'Terms to exclude from results (pipe-separated, e.g., "spam|ads|promo")'
13774
- },
13775
- {
13776
- displayName: "File Type",
13777
- name: "fileType",
13778
- type: "string",
13779
- default: "",
13780
- placeholder: "e.g., pdf",
13781
- description: "Filter results by file type (e.g., pdf, doc, xls)"
13782
- },
13783
13753
  {
13784
13754
  displayName: "Freshness",
13785
13755
  name: "freshness",
@@ -13904,14 +13874,6 @@ class YouDotCom {
13904
13874
  { name: "Moderate", value: "moderate" },
13905
13875
  { name: "Strict", value: "strict" }
13906
13876
  ]
13907
- },
13908
- {
13909
- displayName: "Site",
13910
- name: "site",
13911
- type: "string",
13912
- default: "",
13913
- placeholder: "e.g., github.com",
13914
- description: "Restrict results to a specific domain (e.g., github.com)"
13915
13877
  }
13916
13878
  ]
13917
13879
  },
@@ -14101,14 +14063,6 @@ ${error48.issues.map((e, i2) => ` ${i2 + 1}. ${e.path.join(".") || "root"}: ${e
14101
14063
  qs.offset = options.offset;
14102
14064
  if (options.safesearch)
14103
14065
  qs.safesearch = options.safesearch;
14104
- if (options.site)
14105
- qs.site = options.site;
14106
- if (options.fileType)
14107
- qs.fileType = options.fileType;
14108
- if (options.excludeTerms)
14109
- qs.excludeTerms = options.excludeTerms;
14110
- if (options.exactTerms)
14111
- qs.exactTerms = options.exactTerms;
14112
14066
  const rawResponse = await context.helpers.httpRequestWithAuthentication.call(context, "youDotComApi", {
14113
14067
  method: "GET",
14114
14068
  url: "https://ydc-index.io/v1/search",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@youdotcom-oss/n8n-nodes-youdotcom",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "n8n community node for You.com APIs - Search, Contents extraction, and Express AI agent",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -67,7 +67,7 @@
67
67
  "n8n-workflow": "^2.6.0"
68
68
  },
69
69
  "devDependencies": {
70
- "@n8n/node-cli": "^0.18.0",
70
+ "@n8n/node-cli": "^0.19.0",
71
71
  "n8n-workflow": "^2.6.0",
72
72
  "zod": "^4.3.6"
73
73
  }