Документация

Элемент маалыматтары үчүн акысыз 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 (Too Many Requests) кайтарылат.

Код мисалдары

// 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 элемент толук касиеттери менен. Веб-приложения жана скрипттер үчүн идеалдуу.

JSON жүктөп алуу

CSV

Электрондук таблицаларга ылайыктуу формат. Excel, Google Sheets же Pandas программаларында ачуу.

CSV жүктөп алуу