一键导入
microlink-google
Query Google search, news, images, videos, places, maps, shopping, scholar, patents, and autocomplete via @microlink/google structured data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query Google search, news, images, videos, places, maps, shopping, scholar, patents, and autocomplete via @microlink/google structured data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Validate uncommitted changes in this skills repo before committing. Use when the user invokes /check-local-changes, asks to check, review, or validate local/uncommitted/pending changes, or before committing a new or modified skill.
Execute a remote agent skill from a skills.sh or GitHub URL without installing it on the system. Use when the user invokes /run-skill <url>, shares a skills.sh link, points to a SKILL.md on GitHub, or asks to run/try/test a skill one-off without adding it to their machine.
Automate browserless/Puppeteer headless Chrome for screenshots, PDFs, HTML/text extraction, status checks, Lighthouse audits, and browser pipelines.
Create project-local skills for Cursor and Claude Code when users ask to create, add, or update reusable repo instructions.
Retrieve normalized HTML from URLs with fetch or headless prerender for JS pages, absolute URL rewriting, and metadata extraction pipelines.
Tune Kubernetes HPA, topology spread, requests, and scale-down behavior for cluster cost audits, incidents, replica/node issues, and over-reservation.
| name | microlink-google |
| description | Query Google search, news, images, videos, places, maps, shopping, scholar, patents, and autocomplete via @microlink/google structured data. |
Unified Node.js client for querying 10 Google verticals through the Microlink API. Returns normalized, structured data with pagination and lazy HTML fetching.
The only prerequisite to initialize @microlink/google is to have Microlink API key:
const google = require('@microlink/google')({
apiKey: process.env.MICROLINK_API_KEY
})
const page = await google('Lotus Elise S2')
console.log(page.results)
The query string supports standard Google search operators:
await google('annual report filetype:pdf')
await google('security updates site:github.com')
await google('"machine learning" site:arxiv.org')
const page = await google(query, options?)
| Option | Type | Default | Values |
|---|---|---|---|
type | string | 'search' | search, news, images, videos, places, maps, shopping, scholar, patents, autocomplete |
location | string | 'us' | ISO 3166-1 alpha-2 country code |
period | string | — | hour, day, week, month, year |
limit | number | — | Results per page |
const page = await google('node.js frameworks')
Page: results, knowledgeGraph?, peopleAlsoAsk?, relatedSearches?
Result: title, url, description, html()
KnowledgeGraph: title?, type?, website?, image?, description?, descriptionSource?, descriptionLink?, attributes?
const page = await google('artificial intelligence', { type: 'news' })
Result: title, url, description, date, publisher, image?, html()
const page = await google('northern lights', { type: 'images' })
Result: title, url, image { url, width, height }, thumbnail { url, width, height }, google?, creator?, credit?, html()
const page = await google('cooking tutorial', { type: 'videos' })
Result: title, url, description, image?, video?, duration?, duration_pretty?, publisher?, channel?, date?, html()
const page = await google('coffee shops denver', { type: 'places' })
Result: title, address, latitude, longitude, phone?, url?, cid, html()
const page = await google('apple store new york', { type: 'maps' })
Result: title, address, latitude, longitude, rating?, ratingCount?, price? { level }, type?, types?, url?, phone?, description?, opening?, thumbnail?, cid, fid?, place?, html()
const page = await google('macbook pro', { type: 'shopping' })
Result: title, url, publisher, price { symbol, amount }, image?, rating? { score, total, reviews? }, id?, html()
const page = await google('transformer architecture', { type: 'scholar' })
Result: title, url, description, publisher, year, citations, pdf?, id, html()
const page = await google('touchscreen gestures apple', { type: 'patents' })
Result: title, description, url, priority, filing, grant?, publication, inventor, assignee, language, pdf?, thumbnail?, figures?, id?, html()
const page = await google('how to', { type: 'autocomplete' })
Result: value (no url, no html())
Every page exposes .next() returning a promise of the next page:
const page1 = await google('query')
const page2 = await page1.next()
Iterate through all pages:
let page = await google('node.js frameworks')
while (page) {
for (const result of page.results) {
console.log(result.title)
}
page = await page.next()
}
Any result with a url exposes .html() to fetch the target page HTML on demand:
const { results } = await google('node.js frameworks')
const html = await results[0].html()
Page-level .html() fetches the Google SERP HTML itself.