API belgelendirmesi

Element verileri için ücretsiz REST API. API anahtarı gerekmez.

API anahtarı gerekmiyor CORS tüm kaynaklar için etkinleştirildi JSON
https://api.periodictableofelements.org

Bu API kişisel, eğitimsel ve ticari projeler için ücretsiz olarak kullanılabilir. Sadece uygulamanızda veya web sitenizde bir yerde PeriodicTableOfElements.org'a bir bağlantı eklemenizi istiyoruz.

Örnek kaynak gösterme:

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

Ya da açık metin:

Data provided by PeriodicTableOfElements.org

Son noktalar

GET /elements/

Atomik kütle, kategori, elektron yapı, erime/kaynama noktaları ve tablo düzeni için grid konumları dahil olmak üzere tüm 118 elementin anahtar özelliklerini geri verir.

Rate limit: 200/hr
Örnek Cevap
[
  {
    "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"
  },
  ...
]
Dene bakalım.
fetch('https://api.periodictableofelements.org/elements/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/{atomic_number}/

Tek bir element için tüm alanlar dahil eksiksiz verileri geri verir: fiziksel özellikler, keşif bilgisi, izotoplar, kullanımlar, eğlenceli gerçekler ve daha fazlası.

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,
  ...
}
Dene bakalım.
fetch('https://api.periodictableofelements.org/elements/79/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/quiz/

Elementler hakkında rastgele bir soru soruyor. Soru türleri şunlardır: sembol tanımlama, atom numarası arama, kategori sınıflandırma ve özelliklere dayalı ipuçları.

Rate limit: 300/hr
Örnek Cevap
{
  "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
}
Dene bakalım.
fetch('https://api.periodictableofelements.org/elements/quiz/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/element-of-the-day/

Günümüzün öne çıkan elementini geri verir. Element günlük olarak değişir ve 118 elementin arasında döner. Bir özet ve eğlenceli bir gerçek içerir.

Rate limit: 200/hr
Örnek Cevap
{
  "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"
}
Dene bakalım.
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}

Kimyasal bir formülün molar kütlesini hesaplar. Parantezler ve alt işaretleri destekler (örneğin, Ca( OH) 2, H2SO4). Elemente göre bir ayrıştırma geri verir.

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
    }
  ]
}
Dene bakalım.
fetch('https://api.periodictableofelements.org/elements/molar-mass/?formula=H2O')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/export/json/

Tüm 118 elementi biçimlendirilmiş bir JSON dosyası olarak indir. Atomik özellikler, keşif bilgisi, elektron yapılandırmaları ve daha fazlasını içerir.

Rate limit: 20/hr Geri döner: application/json attachment
GET /elements/export/csv/

Tüm 118 elementi CSV dosyası olarak indir. JSON ihracatıyla aynı alanlar, hesap tabloları ve veri analizi için uygun.

Rate limit: 20/hr Geri döner: text/csv attachment

Hız Limitleri

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

Hız sınırları IP adresi başınadır. Limitin aşılması HTTP 429 (Çok Çok İstek) geri döndürür.

Kod Örnekleri

// 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']})")

Veri İndir

JSON

Tüm 118 eleman tam özelliklerle. Web uygulamaları ve scriptler için ideal.

JSON İndir

CSV

E-Tablo dostu biçim. Excel, Google Sheets veya Pandas'ta açın.

CSV İndir