Smelt – Extract structured data from PDFs and HTML using LLM
I built a CLI tool in Go that extracts structured data (JSON, CSV, Parquet) from messy PDFs and HTML pages. The core idea: LLMs are great at understanding structure but wasteful for bulk data extraction. So smelt uses a two-pass architecture: 1. A fast Go capture layer parses the document and detects table-like regions 2. Those regions (not the whole document) get sent to Claude for schema inference — column names, types, nesting 3. The Go layer then does deterministic extraction using the inferred schema This means the LLM is never in the hot path of actual data processing. It figures out…
Smelt – Extract structured data from PDFs and HTML using LLM launched on March 7, 2026 with 6 votes, #1,631 of 23,380 launches that month and more than 75% of that year's launches.
What it does
Contribute to akdavidsson/smelt development by creating an account on GitHub.
Extract structured data from PDFs, HTML files, and URLs into JSON or CSV. smelt captures tables from any document, uses the Anthropic API to infer a typed schema, and outputs clean structured data. The LLM only names and types the columns — all extraction and coercion is deterministic Go. go install github.com/akdavidsson/smelt@latest Or build from source: git clone https://github.com/akdavidsson/smelt cd smelt go build -o smelt . Quickstart export ANTHROPIC_API_KEY=sk-ant-... smelt https://en.wikipedia.org/wiki/List_of_countries_by_GDP_ \( PPP \) _per_capita Usage smelt [input] [flags] input can be a local file path, an HTTP/HTTPS URL, or omitted to read from stdin. # Extract from a URL…from github.com
In the maker’s words, at launch
I built a CLI tool in Go that extracts structured data (JSON, CSV, Parquet) from messy PDFs and HTML pages. The core idea: LLMs are great at understanding structure but wasteful for bulk data extraction. So smelt uses a two-pass architecture: 1. A fast Go capture layer parses the document and detects table-like…
Does a similar job
all alternatives →
Robust LLM extractor for websites in TypeScriptMar 2026 · github.com · ▲72We've been building data pipelines that scrape websites and extract structured data for a while now. If you've done this, you know the drill: you write CSS selectors, the site changes its layout, everything breaks at 2am, and you spend your morning rewriting parsers. LLMs seemed like the obvious fix — just throw the HTML at GPT and ask for JSON. Except in practice, it's more painful than that: - Raw HTML is full of nav bars, footers, and tracking junk that eats your token budget. A typical product page is 80% noise. - LLMs return malformed JSON more often than you'd expect, especially with…
LLM Scraper – turn any webpage into structured data2024 · github.com · ▲88Turn any webpage into structured data using LLMs. Contribute to mishushakov/llm-scraper development by creating an account on GitHub.
Tabstack Structured ExtractionJun 2026 · tabstack.ai · ▲199Extract web data into structured JSON, no scraper required.
- KGKnowledge graph of restaurants and chefs, built using LLMs2025 · theophilecantelob.re · ▲201
Hi HN! My latest side project is knowledge graph that maps the French culinary network using data extracted from restaurant reviews from LeFooding.com. The project uses LLMs to extract structured information from unstructured text. Some technical aspects you may be interested in: - Used structured generation to reliably parse unstructured text into a consistent schema - Tested multiple models (Mistral-7B-v0.3, Llama3.2-3B, gpt4o-mini) for information extraction - Created an interactive visualization using gephi-lite and Retina (WebGL) - Built (with Claude) a simple Flask web app to clean and…
A new benchmark for testing LLMs for deterministic outputsApr 2026 · interfaze.ai · ▲60When building workflows that rely on LLMs, we commonly use structured output for programmatic use cases like converting an invoice into rows or meeting transcripts into tickets or even complex PDFs into database entries. The model may return the schema you want, but with hallucinated values like `invoice_date` being off by 2 months or the transcript array ordered wrongly. The JSON is valid, but the values are not. Structured output today is a big part of using LLMs, especially when building deterministic workflows. Current structured output benchmarks (e.g., JSONSchemaBench) only validate…
More ai this month
the category →



Paintings by AI models: programs run through a simulation of oil paint.
AI · 20d ago · stillwet.art
PixVerse R2▲381A real-time world model you can explore and change
AI · 29d ago · world.pixverse.video

Source: Show HN post ↗ · launch text quoted in part
Launched alongside, March 2026
the whole month →


Switch from ChatGPT to Claude with import memory feature
AI · Mar 2026 · claude.com
Littlebird▲709Littlebird remembers everything across your meetings, messages, docs, and apps, then takes action so you can recall any detail and never lose context.
AI · Mar 2026 · littlebird.ai

