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
Crawl a paginated listing
Walk pages until the result set stops growing, with sticky sessions to keep the same IP.
import requests
session = "sess_listing_01"
rows, page = [], 1
while True:
res = requests.get(
"https://app.irmu.com/api/scrape",
headers={"Authorization": "Bearer irmu_sk_live_..."},
params={
"url": f"https://example.com/catalog?page={page}",
"render": "true",
"session_id": session,
"output": "markdown",
},
)
body = res.json()["markdown"]
if "No results" in body:
break
rows.append(body)
page += 1
print(len(rows), "pages collected")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.pngRecipe
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.