وثائق API

REST API مجاني لبيانات العنصر. لا يلزم مفتاح API.

لا يلزم مفتاح API تمكين نظام CORS لجميع المصادر JSON
https://api.periodictableofelements.org

إن استخدام هذا البرنامج هو مجاني للمشاريع الشخصية والتعليمية والتجارية. كل ما نطلبه هو أن تضيف رابطاً إلى PeriodicTableOfElements.org في مكان ما في تطبيقك أو موقعك على الإنترنت.

مثال على الإسناد:

<a href="https://periodictableofelements.org">Data from PeriodicTableOfElements.org</a>

أو بنص واضح:

Data provided by PeriodicTableOfElements.org

2-1-1-1-1 النقاط النهائية

GET /elements/

يعيد جميع العناصر الـ 118 مع الخصائص الرئيسية بما في ذلك الكتلة الذرية، والفئة، والتشكيلة الإلكترونية، ونقاط الانصهار/الغليان، ومواقع الشبكة لتخطيط الجدول.

Rate limit: 200/hr
مثال على رد
[
  {
    "atomic_number": 1,
    "symbol": "H",
    "name": "Hydrogen",
    "slug": "hydrogen",
    "atomic_mass": 1.008,
    "category": "nonmetal",
    "block": "s",
    "group_number": 1,
    "period": 1,
    "state_at_room_temp": "gas",
    "electronegativity": 2.2,
    "ionization_energy": 1312.0,
    "electron_affinity": -73.0,
    "atomic_radius": 53,
    "density": 0.00008988,
    "melting_point": 14.01,
    "boiling_point": 20.28,
    "discovery_year": 1766,
    "category_color": "#2ecc71",
    "cpk_hex_color": "FFFFFF",
    "grid_row": 1,
    "grid_column": 1,
    "electrons_per_shell": [1],
    "electron_configuration_semantic": "1s1"
  },
  ...
]
جربها
fetch('https://api.periodictableofelements.org/elements/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/{atomic_number}/

يعيد بيانات كاملة لعنصر واحد، بما في ذلك جميع الحقول: الخصائص الفيزيائية، معلومات الاكتشاف، النظائر، الاستخدامات، حقائق ممتعة، وأكثر.

Rate limit: 300/hr
Example Response — /elements/79/
{
  "atomic_number": 79,
  "symbol": "Au",
  "name": "Gold",
  "slug": "gold",
  "atomic_mass": 196.9666,
  "category": "transition_metal",
  "block": "d",
  "group_number": 11,
  "period": 6,
  "state_at_room_temp": "solid",
  "electronegativity": 2.54,
  "density": 19.3,
  "melting_point": 1337.33,
  "boiling_point": 3129.0,
  "discovery_year": -2500,
  "discovered_by": "Ancient civilizations",
  "electron_configuration": "1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s1 4f14 5p6 5d10 6s1",
  "electron_configuration_semantic": "[Xe] 4f14 5d10 6s1",
  "oxidation_states": "+1, +3",
  "is_radioactive": false,
  "is_synthetic": false,
  ...
}
جربها
fetch('https://api.periodictableofelements.org/elements/79/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/quiz/

يعيد سؤال اختبار عشوائي حول العناصر. أنواع الأسئلة تشمل: تحديد الرمز، البحث عن الرقم الذري، تصنيف الفئة، والخصائص القائمة على الأدلة.

Rate limit: 300/hr
مثال على رد
{
  "type": "symbol",
  "question": "What element has the symbol Fe?",
  "choices": [
    {"name": "Iron", "atomic_number": 26},
    {"name": "Fluorine", "atomic_number": 9},
    {"name": "Francium", "atomic_number": 87},
    {"name": "Fermium", "atomic_number": 100}
  ],
  "answer": 26
}
جربها
fetch('https://api.periodictableofelements.org/elements/quiz/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/element-of-the-day/

يعيد عنصر اليوم المميز. العنصر يتغير يوميا ويدور عبر جميع العناصر الـ 118. يتضمن ملخصا وحقيقة ممتعة.

Rate limit: 200/hr
مثال على رد
{
  "atomic_number": 6,
  "symbol": "C",
  "name": "Carbon",
  "slug": "carbon",
  "category": "nonmetal",
  "category_color": "#2ecc71",
  "summary": "Carbon is a chemical element...",
  "fun_fact": "Carbon can form nearly 10 million different compounds...",
  "atomic_mass": 12.011,
  "discovery_year": -3750,
  "date": "2026-03-29"
}
جربها
fetch('https://api.periodictableofelements.org/elements/element-of-the-day/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/molar-mass/?formula={formula}

يحسب الكتلة الجزيئية لمعادلة كيميائية. يدعم القوسين والخطوط السفلية (مثل Ca(OH)2, H2SO4). يعيد تفصيلا حسب العنصر.

Rate limit: 300/hr
Example Response — /elements/molar-mass/?formula=H2O
{
  "formula": "H2O",
  "molar_mass": 18.015,
  "breakdown": [
    {
      "symbol": "H",
      "count": 2,
      "atomic_mass": 1.008,
      "subtotal": 2.016
    },
    {
      "symbol": "O",
      "count": 1,
      "atomic_mass": 15.999,
      "subtotal": 15.999
    }
  ]
}
جربها
fetch('https://api.periodictableofelements.org/elements/molar-mass/?formula=H2O')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/export/json/

تنزيل جميع العناصر 118 كملف JSON مصمم. يشمل الخصائص الذرية، معلومات الاكتشاف، تشكيلات الإلكترون، وأكثر.

Rate limit: 20/hr العائدات: ملحق الطلب/json
GET /elements/export/csv/

تنزيل جميع العناصر 118 كملف CSV. نفس الحقول مثل تصدير JSON، مناسبة لجداول البيانات وتحليل البيانات.

Rate limit: 20/hr العائدات: نص/مرفق صك مكتبي

حدود المعدلات

Endpoint Limit
/elements/ 200 requests/hour
/elements/{n}/ 300 requests/hour
/elements/quiz/ 300 requests/hour
/elements/element-of-the-day/ 200 requests/hour
/elements/molar-mass/ 300 requests/hour
/elements/export/json/ 20 requests/hour
/elements/export/csv/ 20 requests/hour

وترجع الحدود القصوى للمعدل لكل عنوان IP. وتجاوز الحد يعيد HTTP 429 (طلبات كثيرة جدا).

أمثلة على الرموز

// Fetch all elements
fetch('https://api.periodictableofelements.org/elements/')
  .then(res => res.json())
  .then(elements => {
    console.log(`Loaded ${elements.length} elements`);
    elements.forEach(el => {
      console.log(`${el.symbol} - ${el.name} (${el.atomic_mass})`);
    });
  });

// Get a single element
fetch('https://api.periodictableofelements.org/elements/79/')
  .then(res => res.json())
  .then(gold => {
    console.log(`${gold.name}: ${gold.atomic_mass} u`);
  });

// Calculate molar mass
fetch('https://api.periodictableofelements.org/elements/molar-mass/?formula=H2SO4')
  .then(res => res.json())
  .then(data => {
    console.log(`${data.formula}: ${data.molar_mass} g/mol`);
  });

// Get element of the day
fetch('https://api.periodictableofelements.org/elements/element-of-the-day/')
  .then(res => res.json())
  .then(el => {
    console.log(`Today's element: ${el.name} (${el.symbol})`);
  });
# Fetch all elements
import requests

response = requests.get('https://api.periodictableofelements.org/elements/')
elements = response.json()
print(f'Loaded {len(elements)} elements')

for el in elements:
    print(f"{el['symbol']} - {el['name']} ({el['atomic_mass']})")

# Get a single element
gold = requests.get('https://api.periodictableofelements.org/elements/79/').json()
print(f"{gold['name']}: {gold['atomic_mass']} u")

# Calculate molar mass
data = requests.get(
    'https://api.periodictableofelements.org/elements/molar-mass/',
    params={'formula': 'H2SO4'}
).json()
print(f"{data['formula']}: {data['molar_mass']} g/mol")

# Get element of the day
el = requests.get(
    'https://api.periodictableofelements.org/elements/element-of-the-day/'
).json()
print(f"Today's element: {el['name']} ({el['symbol']})")

تنزيل البيانات

جيسون

جميع العناصر 118 مع الخصائص الكاملة مثالية لتطبيقات الويب والنصوص.

تنزيل JSON

CSV صيغة البيانات

صيغة ملائمة لجدول البيانات، يمكن فتحها في برنامج إكسل أو جوجل بلينز أو بانداس.

تنزيل CSV