serpex 2.5.0 → 2.7.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
@@ -56,9 +56,17 @@ new SerpexClient(apiKey: string, baseUrl?: string)
56
56
  Extract content from web pages and convert them to LLM-ready markdown data. Accepts up to 10 URLs per request.
57
57
 
58
58
  ```typescript
59
+ // Basic usage
59
60
  const results = await client.extract({
60
61
  urls: ["https://example.com", "https://httpbin.org"],
61
62
  });
63
+
64
+ // With stealth mode and HTML output
65
+ const stealthResults = await client.extract({
66
+ urls: ["https://example.com"],
67
+ stealth: true,
68
+ format: "html",
69
+ });
62
70
  ```
63
71
 
64
72
  ## Extract Parameters
@@ -69,6 +77,12 @@ The `ExtractParams` interface supports extraction parameters:
69
77
  interface ExtractParams {
70
78
  // Required: URLs to extract (max 10)
71
79
  urls: string[];
80
+
81
+ // Optional: Route through premium unblocker for difficult-to-crawl pages (default: false)
82
+ stealth?: boolean;
83
+
84
+ // Optional: Output format — 'markdown' (default) or 'html'
85
+ format?: "markdown" | "html";
72
86
  }
73
87
  ```
74
88
 
@@ -85,6 +99,8 @@ interface ExtractResult {
85
99
  url: string;
86
100
  success: boolean;
87
101
  markdown?: string;
102
+ html?: string; // Populated when format='html'
103
+ stealth?: boolean; // Whether stealth mode was used for this result
88
104
  error?: string;
89
105
  error_type?: string;
90
106
  status_code?: number;
@@ -98,6 +114,7 @@ interface ExtractMetadata {
98
114
  successful_crawls: number;
99
115
  failed_crawls: number;
100
116
  credits_used: number;
117
+ cached_free?: number; // Number of URLs served from cache (no credit charge)
101
118
  response_time: number;
102
119
  timestamp: string;
103
120
  }
@@ -121,45 +138,9 @@ interface SearchParams {
121
138
  | "brave"
122
139
  | "yahoo"
123
140
  | "yandex";
124
-
125
- // Optional: Search category ('web' for general search, 'news' for news articles - always returns latest news)
126
- category?: "web" | "news";
127
-
128
- // Optional: Time range filter (only applicable for 'web' category, ignored for 'news')
129
- time_range?: "all" | "day" | "week" | "month" | "year";
130
-
131
- // Optional: Response format
132
- format?: "json" | "csv" | "rss";
133
141
  }
134
142
  ```
135
143
 
136
- ### News Search Example
137
-
138
- News search always returns the latest news articles. The `time_range` parameter is ignored for news searches.
139
-
140
- ```typescript
141
- // Search for latest news articles
142
- const newsResults = await client.search({
143
- q: "artificial intelligence",
144
- engine: "google",
145
- category: "news", // Always returns latest news
146
- });
147
-
148
- console.log(newsResults.results[0].title);
149
- console.log(newsResults.results[0].published_date);
150
- ```
151
-
152
- q: "artificial intelligence",
153
- engine: "google",
154
- category: "news",
155
- });
156
-
157
- console.log(newsResults.results[0].title);
158
- console.log(newsResults.results[0].published_date);
159
-
160
- ```
161
-
162
- ```
163
144
 
164
145
  ## Supported Engines
165
146
 
@@ -180,6 +161,8 @@ interface SearchResponse {
180
161
  response_time: number;
181
162
  timestamp: string;
182
163
  credits_used: number;
164
+ from_cache?: boolean;
165
+ status?: string;
183
166
  };
184
167
  id: string;
185
168
  query: string;
@@ -195,10 +178,6 @@ interface SearchResponse {
195
178
  duration?: string;
196
179
  score?: number;
197
180
  }>;
198
- answers: any[];
199
- corrections: string[];
200
- infoboxes: any[];
201
- suggestions: string[];
202
181
  }
203
182
  ```
204
183
 
@@ -230,23 +209,13 @@ const results = await client.search({
230
209
  });
231
210
  ```
232
211
 
233
- ### Advanced Search with Filters
234
-
235
- ```typescript
236
- const results = await client.search({
237
- q: "latest AI news",
238
- engine: "google",
239
- time_range: "day",
240
- category: "web",
241
- });
242
- ```
243
212
 
244
213
  ### Extract Web Content to LLM-Ready Data
245
214
 
246
215
  #### Extract from a Single URL
247
216
 
248
217
  ```typescript
249
- // Extract content from one website
218
+ // Extract content from one website (markdown, default)
250
219
  const result = await client.extract({
251
220
  urls: ["https://example.com"],
252
221
  });
@@ -258,6 +227,17 @@ if (result.results[0].success) {
258
227
  result.results[0].markdown?.substring(0, 200) + "..."
259
228
  );
260
229
  }
230
+
231
+ // Extract with stealth mode and HTML output
232
+ const stealthResult = await client.extract({
233
+ urls: ["https://example.com"],
234
+ stealth: true,
235
+ format: "html",
236
+ });
237
+
238
+ if (stealthResult.results[0].success) {
239
+ console.log("HTML content:", stealthResult.results[0].html?.substring(0, 200));
240
+ }
261
241
  ```
262
242
 
263
243
  #### Extract from Multiple URLs (up to 10 at once)
@@ -294,6 +274,7 @@ extractResults.results.forEach((result) => {
294
274
  url: 'https://example.com',
295
275
  success: true,
296
276
  markdown: '# Example Domain\n\nThis domain is for use in...',
277
+ stealth: false,
297
278
  status_code: 200
298
279
  }
299
280
  ],
@@ -303,6 +284,7 @@ extractResults.results.forEach((result) => {
303
284
  successful_crawls: 1,
304
285
  failed_crawls: 0,
305
286
  credits_used: 3,
287
+ cached_free: 0,
306
288
  response_time: 255,
307
289
  timestamp: '2025-11-13T10:30:00.000Z'
308
290
  }
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export declare class SerpexClient {
15
15
  private makeRequest;
16
16
  /**
17
17
  * Search using the SERP API
18
- * @param params - Search parameters including query, engine, category, time_range
18
+ * @param params - Search parameters including query and engine
19
19
  * @returns Search results
20
20
  */
21
21
  search(params: SearchParams): Promise<SearchResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAiC;IAStE;;OAEG;YACW,WAAW;IA4DzB;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAiC3D;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;CAoC/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAiC;IAStE;;OAEG;YACW,WAAW;IA4DzB;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB3D;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;CA4C/D"}
package/dist/index.js CHANGED
@@ -68,7 +68,7 @@ class SerpexClient {
68
68
  }
69
69
  /**
70
70
  * Search using the SERP API
71
- * @param params - Search parameters including query, engine, category, time_range
71
+ * @param params - Search parameters including query and engine
72
72
  * @returns Search results
73
73
  */
74
74
  async search(params) {
@@ -81,21 +81,11 @@ class SerpexClient {
81
81
  if (params.q.length > 500) {
82
82
  throw new Error("Query too long (max 500 characters)");
83
83
  }
84
- // Determine endpoint based on category
85
- const category = params.category || "web";
86
- const endpoint = category === "news" ? "/api/search/news" : "/api/search";
87
- // Prepare request parameters with only supported params
88
84
  const requestParams = {
89
85
  q: params.q,
90
- engine: params.engine || "auto", // Default to auto
91
- format: params.format || "json",
86
+ engine: params.engine || "auto",
92
87
  };
93
- // Add category for web search, omit for news (news endpoint doesn't need it)
94
- if (category === "web") {
95
- requestParams.category = "web";
96
- requestParams.time_range = params.time_range || "all";
97
- }
98
- return this.makeRequest(endpoint, requestParams);
88
+ return this.makeRequest("/api/search", requestParams);
99
89
  }
100
90
  /**
101
91
  * Extract content from web pages
@@ -128,6 +118,12 @@ class SerpexClient {
128
118
  const requestParams = {
129
119
  urls: params.urls,
130
120
  };
121
+ if (params.stealth !== undefined) {
122
+ requestParams.stealth = params.stealth;
123
+ }
124
+ if (params.format !== undefined) {
125
+ requestParams.format = params.format;
126
+ }
131
127
  return this.makeRequest("/api/crawl", requestParams, "POST");
132
128
  }
133
129
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -14,7 +14,8 @@ export interface SearchMetadata {
14
14
  response_time: number;
15
15
  timestamp: string;
16
16
  credits_used: number;
17
- category?: string;
17
+ from_cache?: boolean;
18
+ status?: string;
18
19
  }
19
20
  export interface SearchResponse {
20
21
  metadata: SearchMetadata;
@@ -22,15 +23,13 @@ export interface SearchResponse {
22
23
  query: string;
23
24
  engines: string[];
24
25
  results: SearchResult[];
25
- answers: any[];
26
- corrections: string[];
27
- infoboxes: any[];
28
- suggestions: string[];
29
26
  }
30
27
  export interface ExtractResult {
31
28
  url: string;
32
29
  success: boolean;
33
30
  markdown?: string;
31
+ html?: string;
32
+ stealth?: boolean;
34
33
  error?: string;
35
34
  error_type?: string;
36
35
  status_code?: number;
@@ -43,6 +42,7 @@ export interface ExtractMetadata {
43
42
  successful_crawls: number;
44
43
  failed_crawls: number;
45
44
  credits_used: number;
45
+ cached_free?: number;
46
46
  response_time: number;
47
47
  timestamp: string;
48
48
  }
@@ -53,13 +53,12 @@ export interface ExtractResponse {
53
53
  }
54
54
  export interface ExtractParams {
55
55
  urls: string[];
56
+ stealth?: boolean;
57
+ format?: "markdown" | "html";
56
58
  }
57
59
  export interface SearchParams {
58
60
  q: string;
59
61
  engine?: "auto" | "google" | "bing" | "duckduckgo" | "brave" | "yahoo" | "yandex";
60
- category?: "web" | "news";
61
- time_range?: "all" | "day" | "week" | "month" | "year";
62
- format?: "json" | "csv" | "rss";
63
62
  }
64
63
  export interface SerpApiError {
65
64
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAE5B,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAE3B,CAAC,EAAE,MAAM,CAAC;IAGV,MAAM,CAAC,EACH,MAAM,GACN,QAAQ,GACR,MAAM,GACN,YAAY,GACZ,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAMhE"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,uBAAuB;;;AAkGvB,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAa;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,4CAUC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,uBAAuB;;;AA+FvB,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAa;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,4CAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serpex",
3
- "version": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "description": "Official TypeScript SDK for Serpex search API - Fetch search results in JSON format",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",