One request, up to 100 charts
curl -X POST https://simplenumerologyapi.com/v1/charts/batch \
-H 'X-API-Key: nk_…' \
-H 'content-type: application/json' \
-d '{"charts":[
{"first_name":"María","last_name":"García López","birthdate":"1990-03-12"},
{"first_name":"Luis","last_name":"Ortega","birthdate":"1988-07-04"}
]}'
{
"object": "list",
"system": "pythagorean",
"count": 2,
"data": [
{"index": 0, "chart": {"person": {"first_name": "María", "…": "…"}, "life_path_number": 7, "…": "…"}},
{"index": 1, "chart": {"person": {"first_name": "Luis", "…": "…"}, "life_path_number": 1, "…": "…"}}
]
}
Each chart is the full 47-field chart, the same as POST /v1/charts/pythagorean returns. index matches the position in your request, so you can join results back to your rows.
A CSV in 15 lines of Python
import csv
import os
import requests
API = "https://simplenumerologyapi.com/v1/charts/batch"
HEADERS = {"X-API-Key": os.environ["NUMEROLOGY_API_KEY"]}
with open("people.csv", newline="") as source:
people = list(csv.DictReader(source)) # first_name, last_name, birthdate
with open("charts.csv", "w", newline="") as target:
writer = csv.writer(target)
writer.writerow(["first_name", "last_name", "life_path", "destiny", "soul_urge"])
for start in range(0, len(people), 100):
response = requests.post(API, headers=HEADERS, json={"charts": people[start : start + 100]}, timeout=30)
response.raise_for_status()
for item in response.json()["data"]:
chart = item["chart"]
writer.writerow(
[
chart["person"]["first_name"],
chart["person"]["last_name"],
chart["life_path_number"],
chart["destiny_number"],
chart["soul_urge_number"],
]
)
Options apply to the whole batch
Send one options object for every chart in the request, for example {"y_rule": "vowel", "name_reduction": "per_name"}. Every chart echoes the conventions it used, so a backfill made with one set of rules can never be mixed up with another.
How batches are billed
A batch counts one request per chart, so 100 charts in one call cost the same as 100 single calls. What you save is time: one round trip instead of 100, and no rate-limit pauses. The X-Quota-Remaining header after each batch tells you how much of the month is left. Backfilling 10,000 users fits inside the Starter plan, and 500,000 inside Pro.
Frequently asked questions
How many charts can one batch request contain?
Up to 100. For more, split the list into chunks of 100 and send them one after another.
Does a batch request count as one request?
No. It counts one request per chart, so the quota reflects the number of charts computed. A batch is faster, not cheaper.
Is the batch endpoint available on the free plan?
Yes. Every endpoint is available on every plan, and the free plan’s 100 requests a month are enough for one full batch.
Are the results in the same order as the request?
Yes. Each result carries the index of the person it belongs to, in the order they were sent.
Start with 100 free charts a month
No card, no trial clock, no expiry date.
Related
Numerology API for Python
Calculate life path, destiny and soul urge numbers in Python. A free numerology REST API with JSON responses a…
Numerology Calculator API
A numerology API that works as a calculator. Send a name and a birthdate, get life path, destiny, soul urge, k…
A free numerology API
A free numerology API with 100 requests a month, every endpoint and no credit card. Paid plans start at $9 for…
A numerology SDK for any language
Generate a typed numerology API SDK in Go, Java, C#, PHP, Ruby, Swift, TypeScript or Python from the OpenAPI 3…