こんにちは、Yuinaです。
今日は成分データベース 「INCI API」を使って、簡単なアプリを作りました。
INCI API — Beauty Ingredient Intelligence API
Cosmetics ingredient API for developers. Barcode lookup with INCI analysis, safety scoring, allergen detection, and skin…
まず、上記のURLからINCI APIのHPに飛びます。
APIキーを取得するために、会員登録orログインをします。
ダッシュボードから分析もできるみたいです。

今回のコード
※コードの詳細は割愛します✨
import json
import requests
import streamlit as st
st.title("美容成分検索アプリ")
ingredient_name = st.text_input("成分名を入力(INCI名)", "Glycerin")
API_KEY = "(任意のAPIキーを入力)"
if st.button("決定"):
url = f"https://inciapi.com/v1/ingredients/{ingredient_name}"
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
}
with st.spinner("データ取得中。。。"):
try:
response = requests.get(url, headers=headers)
if response.status_code == 200:
st.success("データ取得成功!")
data = response.json()
st.subheader(f"{ingredient_name} の詳細")
st.json(data)
else:
st.error(
f"ステータスコード: {response.status_code})"
)
st.write(response.text)
except Exception as e:
st.error(f"例外エラー: {e}")
ターミナルでコマンドを実行します!
streamlit run ui.py
ブラウザ上に、下記のような画面が自動で表示されます。

「決定」ボタンを押下すると、グリセリンに関するデータが表示されます。

日本語に直すとこんな感じ。

今後ですが、
画像には大量の情報が収集されているので、欲しい情報だけ入手できるようにjsonファイルを編集したいです。
それと、Google翻訳で英語から日本語に表記を変更したときに、表記揺れがありました。
※文章が敬語だったり、敬語じゃなかったり↓

さらにGoogleのAPIを使用して、改善していきたいです。
ありがとうございました✨
