JSNode / TypeScript
The flagship SDK. Maintained in lockstep with the API; @hypedata/sdk on npm.
Install
npm install @hypedata/sdk # node 18+
pnpm add @hypedata/sdk
bun add @hypedata/sdk
deno add npm:@hypedata/sdkUsage
import { Hypedata } from "@hypedata/sdk"; const hd = new Hypedata({ apiKey: process.env.HYPEDATA_API_KEY, timeout: 30_000, maxRetries: 3, fetch: customFetch, // optional — bring your own fetch (Edge, Cloudflare Workers, etc.) }); const page = await hd.scrape({ url: "https://example.com" });
Highlights
- First-class TypeScript types generated from OpenAPI — every response field is named and typed.
- Streaming with native
for-await-of; no callback API. - Zero runtime dependencies beyond
node:built-ins. - Edge-runtime safe — verified on Cloudflare Workers, Vercel Edge, Deno, Bun.
hd.rawescape hatch returns the originalResponsefor advanced cases.
Source: github.com/hypedata/sdk-node
PYPython
Sync and async clients on httpx, Pydantic v2 models. Python 3.9+.
Install
pip install hypedata poetry add hypedata uv add hypedata
Usage
from hypedata import Hypedata, AsyncHypedata hd = Hypedata(api_key=os.environ["HYPEDATA_API_KEY"]) page = hd.scrape(url="https://example.com") # async async with AsyncHypedata() as hd: page = await hd.scrape(url="https://example.com")
Highlights
- Pydantic models — autocomplete in every IDE, runtime validation, JSON-Schema export.
- Batch iterators are pandas-friendly:
pd.DataFrame(hd.stream(urls=...)). - Optional
hypedata[cli]extras package ships a CLI useful for ad-hoc scrapes.
Source: github.com/hypedata/sdk-python
GOGo
Idiomatic Go, generated from OpenAPI. No external deps beyond the stdlib.
Install
go get hypedata.io/sdk@latest
Usage
import ( "context" "hypedata.io/sdk" ) hd := hypedata.New(hypedata.WithMaxRetries(3)) page, err := hd.Scrape(ctx, &hypedata.ScrapeReq{ URL: "https://example.com", Render: true, })
Highlights
- Context-cancellation respected end-to-end, including SSE streams.
- Streaming via Go channels:
events, errs := hd.Stream(ctx, req). - Functional options pattern for client config.
Source: github.com/hypedata/sdk-go
RBRuby
Thread-safe, fiber-friendly. Ruby 3.1+.
Install
gem install hypedata # Gemfile gem "hypedata", "~> 2.3"
Usage
require "hypedata" hd = Hypedata::Client.new page = hd.scrape(url: "https://example.com") # Rails / ActiveJob class ProductRefreshJob < ApplicationJob def perform(url) page = Hypedata.scrape(url: url, render: true) Product.upsert("url:" + url, page.data) end end
Source: github.com/hypedata/sdk-ruby
PHPPHP
PSR-18 compatible, Laravel facade, Symfony bundle. PHP 8.1+.
Install
composer require hypedata/sdk
Usage
use Hypedata\Client; $hd = new Client(); $page = $hd->scrape(['url' => 'https://example.com']);
Framework integrations
- Laravel — auto-discovered service provider;
Hypedata::scrape(...). - Symfony — auto-wired
HypedataClientInterface.
Source: github.com/hypedata/sdk-php
RSRust
Tokio-native async, serde models. Currently beta — public API may change before 1.0.
Install
cargo add hypedata
Usage
use hypedata::{Client, ScrapeReq}; #[tokio::main] async fn main() -> anyhow::Result<()> { let hd = Client::from_env()?; let page = hd.scrape(&ScrapeReq { url: "https://example.com".into(), render: true, ..Default::default() }).await?; println!("{}", &page.html[..200]); Ok(()) }
Source: github.com/hypedata/sdk-rust
/v1No SDK — curl & HTTP
Every endpoint is a plain JSON REST call. If your environment lacks a supported SDK (Elixir, Erlang, C#, Java, Swift…) you can call the API directly. Auto-retries should follow the retry policy; signature verification for webhooks follows the webhooks spec.
Community SDKs exist for C# / .NET, Elixir, Java / Kotlin, Swift, Clojure, and R. They are not officially supported by HypeLabs but several are very actively maintained. See the Awesome Hypedata list.
--Versioning policy
Official SDKs follow SemVer. The SDK major version is independent of the API version — an SDK on 2.x may target API v2 or v3 (the SDK picks the right path).
- Patch — bug fixes, no behavior changes.
- Minor — additive features, new optional parameters, new methods.
- Major — breaking changes. Migration guide always shipped.
Old SDK majors are supported for 12 months after the next major lands. Past that, the API may have deprecated parameters they rely on.