Typed JSON, Always Strict coercion on every field: strings, integers, floats, booleans, dates, and arrays. Control each field to ensure no more ambiguous values slip through.
Plain JSON Schema No CSS selectors, XPath, or complex DSLs. Simply define your field names, types, and examples to create a schema any developer can write in 30 seconds.
Static & Dynamic Keys Bind a schema to a static key once and future requests require only a URL. Alternatively, attach a custom schema to every request using your dynamic API key, enabling higher flexibility.
Three Methods of Scraping Scrape a single URL with /extract, fan-out to multiple URLs with /batch, or crawl recursively with /crawl using the same schema on the same API key.
Semantic Extraction Runo extracts by meaning, not DOM position. Site redesigns and HTML changes won't ever break your pipeline.
Explicit Nulls Unresolvable fields return null. Runo never quietly drops, never omits and never foolheartedly guesses a wrong response. You always know exactly what was and was not found.
Field Hints In the case of a specific request, add a hint string to any field to have it injected directly into Runo's extraction instructions, ensuring you get exactly what you need.
Auto JS Rendering Transparent fetch-first strategy. Auto-escalates to Playwright headless when JS detection or 403 triggers. "render_mode" in the response tells you exactly which path ran.