Authenticated API
Page Meta
指定 URL の HTML を取得し、title / meta description / canonical / robots / OGP / Twitter Card を抽出します。
Endpoint
GET /api/v1/page-meta?url=https://example.com
認証
ログイン済みブラウザセッション、または Authorization: Bearer <ioh_live_...> ヘッダの API キーが必要です。
パラメタ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | 必須 | 対象 URL(http または https) |
curl サンプル
curl "https://infra.yuzlrin.jp/api/v1/page-meta?url=https%3A%2F%2Fexample.com" -H "Authorization: Bearer ioh_live_xxxxxxxxxxxxxxxxxxxxxxxx"レスポンス例
{
"url": "https://example.com",
"finalUrl": "https://example.com/",
"status": 200,
"title": "Example Domain",
"description": "Example description",
"canonical": "https://example.com/",
"robotsMeta": "index,follow",
"xRobotsTag": null,
"og": { "title": "Example Domain", "image": "https://example.com/og.png" },
"twitter": { "card": "summary_large_image" }
}共通エラー
| Status | code | 意味 |
|---|---|---|
| 400 | missing_parameter / invalid_host / invalid_url / invalid_parameter / ssrf_blocked | 入力不正または SSRF 保護による拒否。ssrf_blocked は reason を含む場合があります。 |
| 401 | auth_required / invalid_api_key / api_key_required | ログインまたは API キーが必要です。Site Health Check は API キー専用です。 |
| 413 / 415 | payload_too_large / unsupported_media_type | POST JSON のサイズ超過または Content-Type 不一致。 |
| 429 | rate_limited | レスポンス本文に resetInSec、ヘッダに Retry-After を含みます。 |
| 500 | internal_error | 内部エラー。エラー応答は Cache-Control: no-store です。 |
{
"error": "Invalid URL",
"code": "invalid_url"
}
{
"error": "Rate limited",
"code": "rate_limited",
"resetInSec": 3600
}制限事項
- ログインセッション 300 回 / 日。API キー Free プラン 1000 回 / 日 + 30000 回 / 月。
- SSRF 保護 — private IP / metadata ホストへのリクエストは拒否。
- 通信量・対象負荷を配慮した利用をお願いします。