API құжаттамасы

Элемент деректері үшін тегін REST API. API кілт қажет емес.

API кілті қажет емес CORS барлық көздер үшін рұқсат етілген JSON
https://api.periodictableofelements.org

Бұл API жеке, білім беру және коммерциялық жобалар үшін тегін. Сізге тек PeriodicTableOfElements. org дегенге сілтемені қолданбаңыз немесе веб- сайтыңызға қосуды сұраймыз.

Аты- жөнінің мысалдары:

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

Немесе кәдімгі мәтін:

Data provided by PeriodicTableOfElements.org

Аяқтау нүктелері

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 қайтаратыны: application/json attachment
GET /elements/export/csv/

Барлық 118 элементті CSV файлы ретінде жүктеп алу. JSON экспорттағы өрістермен бірдей, электрондық кестелер мен деректерді талдау үшін қолайлы.

Rate limit: 20/hr Қайтарылатындар: text/csv attachment

Жылдамдық шегі

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

Деректерді жүктеп алу

JSON

Барлық 118 элемент толық қасиеттерімен. Веб қолданба мен скрипттер үшін өте қолайлы. Name

JSON жүктеп алу

CSV файлы

Электрондық кестелерге ыңғайлы пішімі. Excel, Google Sheets немесе Pandas бағдарламаларында ашылады.

CSV файлды жүктеп алу