本文へスキップ

35mm.org データ API

フィルム、現像液、現像時間を JSON で提供し、すべての時間に出典のデータシートまたはチャートが付きます。読み取り専用で、開始にキーは不要です。

クイックスタート OpenAPI

クイックスタート

現像液ごとのフィルムの公表時間を取得できます。すべて https://www.35mm.org/api/public/v1 以下にあり、応答は snake_case のキーと UTC の ISO 8601 形式の日付を持つ JSON です。

curl "https://www.35mm.org/api/public/v1/development-times?film=ilford-hp5-plus&developer=ilford-id-11"

各時間には出典(その種類、タイトル、保存されたアドレス)が付きます。記録がない場合、そのフィールドは null になり、何も補完されません。提供するのは公表されたデータのみで、下書き、提案、人物に関する情報は提供しません。

キー

匿名のリクエストには何も必要ありません。上限を引き上げるには API キーを依頼し、ベアラートークンとして送信してください。

curl -H "Authorization: Bearer 35mm_…" "https://www.35mm.org/api/public/v1/films"

誤っているキーや失効したキーには 401 を返します。静かに匿名として扱うことはありません。キーはサーバーやツール用です。誰でも読めるウェブページには記載しないでください。

キーは、ご依頼に応じて手動で発行します。

レート制限

  • キーなしの場合:アドレスごとに1分あたり 60 リクエスト。
  • キーありの場合:キーごとの上限で、別途合意がなければ1分あたり 600 です。
  • 上限を超えると、Retry-After ヘッダー(待機する秒数)付きの 429 を返します。すべての応答に X-RateLimit-Limit と X-RateLimit-Remaining が付きます。

アドレスはキャッシュ内でカウントされ、保存はされません。キーの利用は1日単位で、数値としてのみカウントされます。

帰属表示

すべての応答に attribution オブジェクトが含まれます。当社のデータを表示する場所では 35mm.org へリンクし(フィルム、現像液、時間の url はそのページを指します)、各時間の出典もあわせて表示してください。出典のない現像時間は、ただの数字です。

このデータにはまだライセンスが明記されていません。リンクを張り、各時間の出典を併記し、不明な点はお問い合わせください。

エンドポイント

すべて GET です。以下の例は、小規模なテスト用カタログの実際の応答であり、本番データではありません。

GET/films

フィルムをアルファベット順に。メーカー、フォーマット、公表された時間の数付き。

curl "https://www.35mm.org/api/public/v1/films?manufacturer=ilford"
パラメーター
パラメーター意味
q名前またはメーカー名を、句読点を無視して検索します:hp5、ilford hp5。
manufacturerメーカーのスラッグ(例:ilford)。
formatフォーマットのスラッグ(例:135 または 120)。
process処理方式:bw、c41、e6、ecn2 …
typeフィルムの種類:bw_negative、color_negative、color_reversal …
still_made現行品のフィルムは 1、それ以外は 0。
has_times公表された時間があるフィルムは 1、ないものは 0。
page, per_page下記のページ分割をご覧ください。
応答例
{
    "data": [
        {
            "id": 101,
            "slug": "ilford-hp5-plus",
            "name": "HP5 Plus",
            "full_name": "Ilford HP5 Plus",
            "manufacturer": {
                "slug": "ilford",
                "name": "Ilford"
            },
            "iso": 400,
            "type": "bw_negative",
            "process": "bw",
            "is_chromogenic_bw": false,
            "status": "in_production",
            "still_made": true,
            "formats": [
                {
                    "slug": "135",
                    "name": "35mm (135)"
                }
            ],
            "respool_of": null,
            "published_times_count": 2,
            "url": "https://35mm.org/film/ilford-hp5-plus",
            "api_url": "https://35mm.org/api/public/v1/films/ilford-hp5-plus",
            "updated_at": "2026-10-01T12:00:00Z"
        }
    ],
    "links": {
        "first": "https://35mm.org/api/public/v1/films?manufacturer=ilford&page=1",
        "last": "https://35mm.org/api/public/v1/films?manufacturer=ilford&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 50,
        "from": 1,
        "to": 1,
        "total": 1
    },
    "attribution": {
        "text": "Data from 35mm.org — each time with its source. Please link back to 35mm.org.",
        "url": "https://35mm.org"
    }
}

GET/films/{slug}

1つのフィルムの仕様と、公表されたすべての現像時間。

curl "https://www.35mm.org/api/public/v1/films/ilford-hp5-plus"
応答例
{
    "data": {
        "id": 101,
        "slug": "ilford-hp5-plus",
        "name": "HP5 Plus",
        "full_name": "Ilford HP5 Plus",
        "manufacturer": {
            "slug": "ilford",
            "name": "Ilford"
        },
        "iso": 400,
        "type": "bw_negative",
        "process": "bw",
        "is_chromogenic_bw": false,
        "status": "in_production",
        "still_made": true,
        "formats": [
            {
                "slug": "135",
                "name": "35mm (135)"
            }
        ],
        "respool_of": null,
        "published_times_count": 2,
        "url": "https://35mm.org/film/ilford-hp5-plus",
        "api_url": "https://35mm.org/api/public/v1/films/ilford-hp5-plus",
        "updated_at": "2026-10-01T12:00:00Z",
        "base": null,
        "emulsion_type": null,
        "spectral_sensitivity": null,
        "has_remjet": false,
        "first_released_year": 1989,
        "discontinued_year": null,
        "grain_rms": 14.0,
        "resolving_power_lpmm": null,
        "dmax": null,
        "latitude_stops_under": null,
        "latitude_stops_over": null,
        "datasheet_url": null,
        "image_url": null,
        "development_times": [
            {
                "id": 501,
                "film": {
                    "slug": "ilford-hp5-plus",
                    "name": "HP5 Plus",
                    "url": "https://35mm.org/film/ilford-hp5-plus"
                },
                "developer": {
                    "slug": "ilford-id-11",
                    "name": "ID-11",
                    "url": "https://35mm.org/developer/ilford-id-11"
                },
                "dilution": {
                    "label": "Stock",
                    "is_stock": true
                },
                "format": "any",
                "ei": 400,
                "temperature_c": 20.0,
                "time_seconds": 450,
                "time": "7:30",
                "agitation": "10 s at the start, then 10 s every minute",
                "process_type": "tank",
                "confidence": "verified",
                "notes": "Tank, 10 s initial agitation.",
                "source": {
                    "type": "manufacturer_datasheet",
                    "title": "ILFORD HP5 PLUS technical information, 2023",
                    "url": "https://example.com/ilford-hp5-plus-datasheet.pdf"
                },
                "inherited_from": null,
                "url": "https://35mm.org/film/ilford-hp5-plus/developed-in/ilford-id-11",
                "updated_at": "2026-10-01T12:00:00Z"
            },
            {
                "id": 502,
                "film": {
                    "slug": "ilford-hp5-plus",
                    "name": "HP5 Plus",
                    "url": "https://35mm.org/film/ilford-hp5-plus"
                },
                "developer": {
                    "slug": "ilford-id-11",
                    "name": "ID-11",
                    "url": "https://35mm.org/developer/ilford-id-11"
                },
                "dilution": {
                    "label": "1+1",
                    "is_stock": false
                },
                "format": "any",
                "ei": 800,
                "temperature_c": 20.0,
                "time_seconds": 600,
                "time": "10:00",
                "agitation": null,
                "process_type": "tank",
                "confidence": "community",
                "notes": null,
                "source": {
                    "type": "community",
                    "title": null,
                    "url": null
                },
                "inherited_from": null,
                "url": "https://35mm.org/film/ilford-hp5-plus/developed-in/ilford-id-11",
                "updated_at": "2026-10-01T12:00:00Z"
            }
        ]
    },
    "attribution": {
        "text": "Data from 35mm.org — each time with its source. Please link back to 35mm.org.",
        "url": "https://35mm.org"
    }
}

GET/developers

現像液とその他の薬品。

curl "https://www.35mm.org/api/public/v1/developers?manufacturer=ilford"
パラメーター
パラメーター意味
q名前またはメーカー名で検索します。
manufacturerメーカーのスラッグ。
type薬品の種類:bw_developer、c41_kit、fixer …
still_made現行品は 1、それ以外は 0。
page, per_page下記のページ分割をご覧ください。
応答例
{
    "data": [
        {
            "id": 201,
            "slug": "ilford-id-11",
            "name": "ID-11",
            "full_name": "Ilford ID-11",
            "manufacturer": {
                "slug": "ilford",
                "name": "Ilford"
            },
            "type": "bw_developer",
            "form": "powder",
            "status": "in_production",
            "still_made": true,
            "reuse": "depends",
            "is_one_shot": false,
            "is_replenishable": null,
            "reuse_source": {
                "title": "ILFORD PERCEPTOL, ID-11 AND MICROPHEN FILM DEVELOPERS",
                "url": "https://www.ilfordphoto.com/wp/wp-content/uploads/2024/09/ILFORD-POWDER-CHEM-190824.pdf"
            },
            "published_times_count": 2,
            "url": "https://35mm.org/developer/ilford-id-11",
            "api_url": "https://35mm.org/api/public/v1/developers/ilford-id-11",
            "updated_at": "2026-10-01T12:00:00Z"
        }
    ],
    "links": {
        "first": "https://35mm.org/api/public/v1/developers?manufacturer=ilford&page=1",
        "last": "https://35mm.org/api/public/v1/developers?manufacturer=ilford&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 50,
        "from": 1,
        "to": 1,
        "total": 1
    },
    "attribution": {
        "text": "Data from 35mm.org — each time with its source. Please link back to 35mm.org.",
        "url": "https://35mm.org"
    }
}

GET/developers/{slug}

1つの現像液と、その希釈、および時間が公表されているフィルム。

curl "https://www.35mm.org/api/public/v1/developers/ilford-id-11"
応答例
{
    "data": {
        "id": 201,
        "slug": "ilford-id-11",
        "name": "ID-11",
        "full_name": "Ilford ID-11",
        "manufacturer": {
            "slug": "ilford",
            "name": "Ilford"
        },
        "type": "bw_developer",
        "form": "powder",
        "status": "in_production",
        "still_made": true,
        "reuse": "depends",
        "is_one_shot": false,
        "is_replenishable": null,
        "reuse_source": {
            "title": "ILFORD PERCEPTOL, ID-11 AND MICROPHEN FILM DEVELOPERS",
            "url": "https://www.ilfordphoto.com/wp/wp-content/uploads/2024/09/ILFORD-POWDER-CHEM-190824.pdf"
        },
        "published_times_count": 2,
        "url": "https://35mm.org/developer/ilford-id-11",
        "api_url": "https://35mm.org/api/public/v1/developers/ilford-id-11",
        "updated_at": "2026-10-01T12:00:00Z",
        "shelf_life_unopened_months": 24,
        "shelf_life_opened_months": 3,
        "capacity_rolls_per_litre": 10.0,
        "datasheet_url": null,
        "dilutions": [
            {
                "label": "Stock",
                "is_stock": true,
                "parts_developer": 1.0,
                "parts_water": 0.0
            },
            {
                "label": "1+1",
                "is_stock": false,
                "parts_developer": 1.0,
                "parts_water": 1.0
            }
        ],
        "films": [
            {
                "slug": "ilford-hp5-plus",
                "name": "HP5 Plus",
                "published_times_count": 2,
                "times_url": "https://35mm.org/api/public/v1/development-times?film=ilford-hp5-plus&developer=ilford-id-11"
            }
        ]
    },
    "attribution": {
        "text": "Data from 35mm.org — each time with its source. Please link back to 35mm.org.",
        "url": "https://35mm.org"
    }
}

GET/development-times

公表された時間を検索します。独自の時間を持たない巻き直し品には、元の銘柄の時間が返され、inherited_from が付きます。

curl "https://www.35mm.org/api/public/v1/development-times?film=ilford-hp5-plus&developer=ilford-id-11&ei=400"
パラメーター
パラメーター意味
filmフィルムのスラッグ。
developer現像液のスラッグ。
dilution公表されている希釈のラベル:Stock、1+1 …
eiフィルムを設定した露出指数。
temperature温度(°C)。
formatその時間の対象フォーマット:135、120、sheet、any。
page, per_page下記のページ分割をご覧ください。
応答例
{
    "data": [
        {
            "id": 501,
            "film": {
                "slug": "ilford-hp5-plus",
                "name": "HP5 Plus",
                "url": "https://35mm.org/film/ilford-hp5-plus"
            },
            "developer": {
                "slug": "ilford-id-11",
                "name": "ID-11",
                "url": "https://35mm.org/developer/ilford-id-11"
            },
            "dilution": {
                "label": "Stock",
                "is_stock": true
            },
            "format": "any",
            "ei": 400,
            "temperature_c": 20.0,
            "time_seconds": 450,
            "time": "7:30",
            "agitation": "10 s at the start, then 10 s every minute",
            "process_type": "tank",
            "confidence": "verified",
            "notes": "Tank, 10 s initial agitation.",
            "source": {
                "type": "manufacturer_datasheet",
                "title": "ILFORD HP5 PLUS technical information, 2023",
                "url": "https://example.com/ilford-hp5-plus-datasheet.pdf"
            },
            "inherited_from": null,
            "url": "https://35mm.org/film/ilford-hp5-plus/developed-in/ilford-id-11",
            "updated_at": "2026-10-01T12:00:00Z"
        }
    ],
    "links": {
        "first": "https://35mm.org/api/public/v1/development-times?film=ilford-hp5-plus&developer=ilford-id-11&ei=400&page=1",
        "last": "https://35mm.org/api/public/v1/development-times?film=ilford-hp5-plus&developer=ilford-id-11&ei=400&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 50,
        "from": 1,
        "to": 1,
        "total": 1
    },
    "attribution": {
        "text": "Data from 35mm.org — each time with its source. Please link back to 35mm.org.",
        "url": "https://35mm.org"
    }
}

現像時間

現像時間のフィールド
フィールド意味
time_seconds, time時間(整数の秒数と m:ss 形式)。
ei, temperature_cその時間の対象となる露出指数と温度(°C)。
source常に存在:type(manufacturer_datasheet、own_test、third_party、community)、title、url(保存された値。記録がない場合は null)。
confidenceverified、community、unverified、disputed:その時間が出典とどの程度照合されたか。
inherited_from巻き直し品が時間を引き継ぐ場合は元の銘柄のスラッグ、それ以外は null。

ページ分割

一覧は page と per_page でページ分割されます(既定は 50、最大 100)。links には first、last、prev、next のアドレス(ない場合は null)、meta には current_page、last_page、per_page、from、to、total が含まれます。links.next が null になるまでたどってください。

キャッシュ

応答には ETag、Last-Modified、Cache-Control: public, max-age=300 が付きます。ETag を If-None-Match で送り返すと、変更がなければ本文なしの 304 が返ります。これもリクエストとして数えられます。そちら側でもキャッシュしてください。カタログは分単位では変わりません。

どのサイトのブラウザーからもこれらのルートを読み取れます(CORS:任意のオリジンからの GET)。

エラー

エラーは共通の形式で、拒否されたパラメーターには details が付きます。

{
    "error": {
        "code": "invalid_parameter",
        "message": "One or more parameters are not valid.",
        "details": { "per_page": ["The per page field must not be greater than 100."] }
    }
}
エラー
HTTPcode意味
401invalid_api_keyキーが誤っているか、失効しています。
404not_foundそのスラッグのフィルムまたは現像液はありません。
405method_not_allowedこの API は読み取り専用です。GET を使用してください。
422invalid_parameterパラメーターが有効な値ではありません。
429rate_limitedリクエストが多すぎます。Retry-After の秒数だけ待つか、キーを依頼してください。

OpenAPI

API 全体は OpenAPI 3.1 ファイルに記述されています:/api/public/v1/openapi.json。Postman、Insomnia、コードジェネレーターにインポートできます。

時間カードの埋め込み

ブログやフォーラムでは、1つの現像時間を小さなカードとして表示できます。フィルム、現像液、希釈、感度、温度、時間、出典を表示し、35mm.org へのリンクが付きます。Cookie もスクリプトも他サイトからの読み込みもない単純なページで、フレームに埋め込むためのものです。

<iframe src="https://www.35mm.org/embed/time?film=ilford-hp5-plus&developer=ilford-id-11&dilution=Stock&ei=400&temp=20" width="100%" height="214" style="border:0;max-width:440px" loading="lazy" title="HP5 Plus in ID-11 — 35mm.org"></iframe>
パラメーター
パラメーター意味
film, developerフィルムと現像液のスラッグ。
dilution, ei, temp1つの時間に絞り込みます。省略すると、公称感度での時間が表示されます。
idまたは、API の id で1つの時間を指定します。
themelight または dark。省略すると、カードは閲覧者のカラースキームに従います。
langen、pl、uk。

一致する公表時間がない場合、カードはその旨を表示してフィルムにリンクします。近いものを表示することはありません。フィルム × 現像液の各ページの「埋め込み」ボタンで、プレビュー付きでコードを作成できます。

カードが表示された回数を、日ごと、サイトごと(掲載ページのホスト名のみ)、組み合わせごとに集計します。Cookie も、アドレスの保存もありません。