@linkoi/coreLibraryA URL in. Metadata out.
Extract from a URL or HTML you already have. Get a consistent result, with Metascraper filling gaps when a page needs a closer look.
View the codeExtract titles, images, and context from a URL.
Give the links in your app something more to say.
TypeScript library. Your infrastructure.
resolve(url)One URL. A structured response. Ready for your app.Add metadata to bookmarks, link previews, and content tools. Choose the extractor or bring your own HTTP endpoint.
@linkoi/coreLibraryExtract from a URL or HTML you already have. Get a consistent result, with Metascraper filling gaps when a page needs a closer look.
View the code@linkoi/workerCloudflareDeploy a metadata API with KV caching, background refresh, and optional bearer authentication. Run it in your Cloudflare account.
See the extraction APIUse the same metadata in different parts of your app. You decide how it looks and where it goes.
Save a title, description, and image alongside the URL. Make a collection people can scan.
Turn pasted links into useful cards in chats, notes, and editors. Style every field to fit your product.
Add publishers, authors, dates, and language when available. Give imported links more useful fields.
Illustrative interfaces built with metadata. Linkoi provides the data, not these UI components.
Start with a URL. Use the fields you need.
The same API works across your server-side tools.
Developer preview. Packages aren't on npm yet.
Build the local workspace to try the API.
Pages describe themselves in different ways.
Linkoi brings those details into one result.
Fetch the page's HTML, or pass in HTML you already have. Configure fetch timeouts and size limits.
URL or HTMLRead Open Graph, Twitter Cards, JSON-LD, and HTML tags. Use the optional Metascraper fallback for sparse results.
Extract + normaliseUse a consistent set of fields in your app. The Worker adds a cache and background refresh for HTTP requests.
Structured metadataTitles, descriptions, images, favicons, publishers, authors, dates, and languages. Optional YouTube API support when you need it.
Linkoi reads the HTML a server returns. Browser rendering, crawling, and screenshots aren't included.
Source-available under PolyForm Shield. Non-competing commercial use is permitted.
What's included, where it runs,
and how you can use it.
A public preview endpoint is available to try. For your own deployment, use @linkoi/core in your server code, or deploy @linkoi/worker to your own Cloudflare account.
The current PolyForm Shield license permits non-competing commercial use. It restricts competing products and services, including free competitors. Linkoi is source-available, not OSI open-source. Review the repository's license before adopting it.
No. Linkoi reads the HTML returned by the server. Metadata added only after JavaScript runs may not be available. Browser rendering, screenshots, and crawling aren't included.
No. Results depend on what the page provides and whether it can be fetched. Handle missing fields in your UI. The optional Metascraper fallback can fill some gaps.
The packages are in developer preview and haven't been published to npm. Try the HTTP API or build the local workspace. The examples on this page use static data and don't make extraction requests.