Irmu
Examples

Recipes you can paste and run

Swap in your API key and a target URL. Everything else already works.

Recipe

Scrape a product page into JSON

Render the page, extract a typed schema and validate it in one call.

import requests

res = requests.post(
    "https://app.irmu.com/api/extract",
    headers={"Authorization": "Bearer irmu_sk_live_..."},
    json={
        "url": "https://www.amazon.com/dp/B0CHX1W1XY",
        "render": True,
        "schema": {
            "title": "string",
            "price": "number",
            "currency": "string",
            "rating": "number",
            "in_stock": "boolean",
        },
    },
)

print(res.json()["data"])
Recipe

Drive a real browser

Click, type and wait through the Browser API — or attach Playwright over CDP.

curl -X POST https://app.irmu.com/api/browser \
  -H "Authorization: Bearer irmu_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/login-free-demo",
    "actions": [
      { "type": "click", "selector": "#accept-cookies" },
      { "type": "type", "selector": "#search", "text": "wireless mouse" },
      { "type": "press", "key": "Enter" },
      { "type": "wait_for", "selector": ".results li" },
      { "type": "scroll", "to": "bottom" }
    ],
    "output": "html"
  }'
Recipe

Capture a full-page screenshot

PNG, JPEG or PDF, with device emulation and element-level capture.

curl -G https://app.irmu.com/api/screenshot \
  -H "Authorization: Bearer irmu_sk_live_..." \
  --data-urlencode "url=https://example.com" \
  --data-urlencode "full_page=true" \
  --data-urlencode "device=mobile" \
  --data-urlencode "format=png" \
  --output shot.png
Recipe

Point an existing crawler at Irmu

Use the proxy endpoint when you already have a scraper you like.

import requests

proxies = {
    "http": "http://user-irmu-country-us:irmu_sk_live_...@proxy.irmu.com:8080",
    "https": "http://user-irmu-country-us:irmu_sk_live_...@proxy.irmu.com:8080",
}

res = requests.get("https://example.com", proxies=proxies, timeout=60)
print(res.status_code, len(res.text))

Start building with Irmu today

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