Documentare API

API REST gratuită pentru datele elementelor. Nu este necesară cheie API.

Nu este necesară cheie API CORS activat pentru toate originile JSON
https://api.periodictableofelements.org

Această API este liberă de utilizat pentru proiecte personale, educative și comerciale. Noi doar cerem să includeți un link înapoi la PeriodicTableOfElements.org undeva în aplicația sau site-ul dumneavoastră.

Exemplu atribuție:

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

Sau în text simplu:

Data provided by PeriodicTableOfElements.org

Puncte finale

GET /elements/

Returnează toate cele 118 elemente cu proprietăți cheie, inclusiv masa atomică, categoria, configurația electronului, punctele de topire/boiling, și pozițiile de rețea pentru aranjamentul tabelului.

Rate limit: 200/hr
Răspuns de exemplu
[
  {
    "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"
  },
  ...
]
Încearcă.
fetch('https://api.periodictableofelements.org/elements/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/{atomic_number}/

Returnă datele complete pentru un singur element, inclusiv toate câmpurile: proprietăți fizice, informații de descoperire, izotopi, utilizări, fapte distractive, și mai multe.

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

Returnează o întrebare aleatoare cu privire la elemente. Tipuri de întrebări includ: identificarea simbolului, căutarea numărului atomic, clasificarea categoriei, și indicii bazate pe proprietate.

Rate limit: 300/hr
Răspuns de exemplu
{
  "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
}
Încearcă.
fetch('https://api.periodictableofelements.org/elements/quiz/')
  .then(r => r.json())
  .then(data => console.log(data));
GET /elements/element-of-the-day/

Returnează elementul de astăzi. Elementul se schimbă zilnic și ciclează prin toate cele 118 elemente. Include un rezumat și un fapt distractiv.

Rate limit: 200/hr
Răspuns de exemplu
{
  "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"
}
Încearcă.
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}

Calculează masa molară a unei formule chimice. Susține parenții și subscrierile (de exemplu, Ca(OH)2, H2SO4). Returnează o defalcare prin element.

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

Descărca toate 118 elemente ca un fișier JSON formatat. Include proprietăți atomice, informații de descoperire, configurații electronice, și mai multe.

Rate limit: 20/hr Răspunsuri: atașament aplicație/json
GET /elements/export/csv/

Descărca toate 118 elemente ca un fișier CSV. Aceleași câmpuri ca exportul JSON, potrivit pentru planuri de calcul și analiza datelor.

Rate limit: 20/hr Returnă: atașament text/csv

Limitele ratei

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

Limitele ratei sunt pe adresă IP. Excedent limitele de returnare HTTP 429 (Too Multe cereri).

Exemple de cod

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

Descărcare date

JSON

Toate cele 118 elemente cu proprietăți complete. Ideal pentru aplicații web și scripturi.

Descarcă JSON

CSV

Format prietenos pentru foile de calcul. Deschide în Excel, Google Sheets sau Pandas.

Descărcați CSV