Irmu
SDKs

Official clients for five languages

Typed parameters, sane defaults, automatic retry handling and the same method names everywhere.

Install

One line to get started

Python

v2.4.1
pip install irmu

github.com/irmu/irmu-python

Node.js

v2.4.0
npm install @irmu/sdk

github.com/irmu/irmu-node

PHP

v1.9.3
composer require irmu/irmu-php

github.com/irmu/irmu-php

Go

v1.6.0
go get github.com/irmu/irmu-go

github.com/irmu/irmu-go

Java

v1.4.2
implementation 'com.irmu:irmu:1.4.2'

github.com/irmu/irmu-java

cURL

v
Already installed

See API reference

Usage

The same call in every language

import requests

res = requests.get(
    "https://app.irmu.com/api/scrape",
    params={
        "url": "https://www.amazon.com/dp/B0CHX1W1XY",
        "render": "true",
        "country": "us",
    },
    headers={"Authorization": "Bearer irmu_sk_live_..."},
)

print(res.json()["html"][:500])
Conventions

What every SDK guarantees

  • Identical method names: scrape, browser, screenshot, extract.
  • Retries with exponential backoff on transient failures.
  • Typed request builders and response objects where the language allows it.
  • Environment-variable key discovery via IRMU_API_KEY.
  • Streaming responses for large HTML and JSONL extraction batches.
  • Semantic versioning with a 12-month deprecation window.
No SDK?

Plain HTTP works fine

raw.sh
curl -G https://app.irmu.com/api/scrape \
  -H "Authorization: Bearer $IRMU_API_KEY" \
  --data-urlencode "url=https://example.com"
Read the API reference →

Start building with Irmu today

1,000 free credits every month, no card required. Every API, every integration, one key.