Skip to main content
Glama
generate_statics.ts1.3 kB
import fs from "fs"; import { Hyperbrowser } from "@hyperbrowser/sdk"; const API_KEY: string = process.env.HYPERBROWSER_API_KEY ?? ""; const client = new Hyperbrowser({ apiKey: API_KEY, }); const getPathname = (url: string) => { return new URL(url).pathname ?? "/"; }; export const generate_statics = async (outputPath: string) => { const crawlResult = await client.crawl.startAndWait({ url: "https://www.docs.hyperbrowser.ai", maxPages: 100, ignoreSitemap: false, excludePatterns: [], includePatterns: [], sessionOptions: { acceptCookies: false, useStealth: false, useProxy: false, solveCaptchas: false, }, scrapeOptions: { formats: ["markdown"], excludeTags: [], includeTags: [], onlyMainContent: true, }, }); // fs.writeFileSync("crawlResult.json", JSON.stringify(crawlResult, null, 2)); const uniqueUrls = Array.from( new Set(crawlResult.data?.map((item) => getPathname(item.url))) ); const urlToDataMap = uniqueUrls.map((pathname) => { const matchingData = crawlResult.data?.find( (item) => getPathname(item.url) === pathname ); return { pathname, data: matchingData, }; }); fs.writeFileSync(outputPath, JSON.stringify(urlToDataMap, null, 2)); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/bach-hyperbrowser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server