@metalift/sdk
Advanced tools
+24
-0
@@ -16,2 +16,25 @@ export interface MetaliftConfig { | ||
| } | ||
| export interface SearchParams { | ||
| query: string; | ||
| /** Max results (default 10). Flat 2 credits per search regardless of count. */ | ||
| limit?: number; | ||
| categories?: string[]; | ||
| language?: string; | ||
| } | ||
| export interface SearchResult { | ||
| title: string; | ||
| url: string; | ||
| snippet: string; | ||
| engine: string; | ||
| score?: number | null; | ||
| } | ||
| export interface SearchResponse { | ||
| success: true; | ||
| query: string; | ||
| results: SearchResult[]; | ||
| cached: boolean; | ||
| result_count: number; | ||
| unresponsive_engines?: string[][]; | ||
| credits_charged?: number; | ||
| } | ||
| export declare class Metalift { | ||
@@ -45,2 +68,3 @@ private apiUrl; | ||
| }): Promise<unknown>; | ||
| search(params: SearchParams): Promise<SearchResponse>; | ||
| getJob(jobId: string): Promise<{ | ||
@@ -47,0 +71,0 @@ status: string; |
+7
-0
@@ -39,2 +39,9 @@ export class Metalift { | ||
| } | ||
| search(params) { | ||
| const { query, limit = 10, categories, language } = params; | ||
| return this.request("/v1/search", { | ||
| method: "POST", | ||
| body: JSON.stringify({ query, limit, categories, language }), | ||
| }); | ||
| } | ||
| async getJob(jobId) { | ||
@@ -41,0 +48,0 @@ return this.request(`/v1/jobs/${jobId}`); |
+1
-1
| { | ||
| "name": "@metalift/sdk", | ||
| "version": "1.0.4", | ||
| "version": "1.0.5", | ||
| "description": "Metalift TypeScript SDK", | ||
@@ -5,0 +5,0 @@ "license": "SEE LICENSE IN LICENSE", |
+17
-0
@@ -32,2 +32,19 @@ # @metalift/sdk | ||
| ## Web search (decoupled from scrape) | ||
| Search returns **top 10 SERP snippets** (2 credits). Scrape URLs separately when you need full content (1+ credits each): | ||
| ```javascript | ||
| const serp = await client.search({ query: "docker docs" }); | ||
| for (const hit of serp.results) { | ||
| console.log(hit.title, hit.url); | ||
| } | ||
| const page = await client.scrape({ | ||
| url: serp.results[0].url, | ||
| formats: ["markdown"], | ||
| }); | ||
| console.log(page.data.markdown); | ||
| ``` | ||
| ## Configuration | ||
@@ -34,0 +51,0 @@ |
10026
15.08%139
28.7%79
27.42%