API · /photometry-api

Photometry & Lighting API

healthy 3,220 Subscribers

Photometry and lighting maths as an API, computed locally and deterministically. The illuminance endpoint computes the light falling on a surface from a point source, E = I·cos(θ)/d² in lux, from the luminous intensity in candela, the distance in metres and the angle of incidence from the surface normal — a 1000 cd source straight down at 2 m gives 250 lux. The inverse-square endpoint scales a known illuminance to a new distance, E2 = E1·(d1/d2)², so doubling the distance quarters the light. The flux-intensity endpoint converts between luminous flux in lumens and luminous intensity in candela through the solid angle, I = Φ/Ω and Φ = I·Ω, with the solid angle taken as the full sphere 4π steradian for an isotropic source or, for a spotlight of full beam angle β, Ω = 2π·(1 − cos(β/2)) — so a 100 cd isotropic source emits about 1256.6 lm, and a 1000 cd lamp in a 30° beam emits about 214 lm. Distances are in metres and angles in degrees. Everything is computed locally and deterministically, so it is instant and private. Ideal for lighting-design, architecture, photography, film, horticulture-grow-light, stage and AV app developers, lux-and-lumen and luminaire-planning tools, and engineering software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. These are photometric (perceived-light) quantities; for blackbody/peak-wavelength radiometry use a Wien/radiation API.

api.oanor.com/photometry-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/photometry-api/openapi.json
/api/photometry-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
83 ms
Server probes · 24h
Subscribers
3,220
active
Total calls
16
last 7 days
status Full status page → · 20 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 5,300 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 5,300 calls/month
  • 2 req/sec
  • Illuminance + inverse-square + flux/intensity
  • No credit card
Sign in to subscribe

Starter

€5.40 /month

  • 53,000 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 53,000 calls/month
  • 6 req/sec
  • Beam-angle solid angle, incidence angle
  • Email support
Sign in to subscribe

Pro

€15.00 /month

  • 235,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 235,000 calls/month
  • 15 req/sec
  • Luminaire-planning & AV pipelines
  • Priority support
Sign in to subscribe

Mega

€47.00 /month

  • 1,330,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,330,000 calls/month
  • 40 req/sec
  • Platform scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Lighting Calculator API

Lighting design maths as an API, computed locally and deterministically. The room endpoint works out how many lumens a room needs from its area and a target illuminance — given directly in lux or chosen from a room-type preset (living, kitchen, office, workshop and more) — and, optionally, how many fixtures at a given lumen output and how many watts at a given lamp type. The lux endpoint converts between lux, footcandles and lumens over an area, so you can find the illuminance from a light output and a room size or vice versa. The efficacy endpoint relates lumens, watts and luminous efficacy (lumens per watt): give any two — or a lamp-type preset such as incandescent, halogen, CFL or LED — and it computes the third. Everything is computed locally and deterministically, so it is instant and private. It is a lumen-method estimate: target levels are typical guidance (EN 12464 / IES) and a full design would add room and utilisation factors. Ideal for lighting and electrical tools, interior-design and home apps, retrofit and energy-saving calculators, and smart-home planning. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is illumination maths; for Ohm's-law electrical quantities use an electronics API.

api.oanor.com/lighting-api

Color Temperature API

Turn physical light into RGB colours — entirely locally. The kelvin endpoint converts a colour temperature in Kelvin into the RGB colour of a black body at that temperature: warm candle and incandescent tones below 3000 K, neutral and daylight whites around 5000–6500 K, and cool bluish light above, using Tanner Helland's widely-used approximation and returning hex, an rgb() string and a plain-English description (candlelight, warm white, neutral, daylight, cool). The wavelength endpoint converts a wavelength of visible light in nanometres (380–780 nm) into the approximate RGB colour the human eye perceives, with the natural intensity fall-off at the violet and red edges of the spectrum, and names the band (violet, blue, cyan, green, yellow, orange, red). Everything is computed locally and deterministically, so it is instant and private. Ideal for lighting and smart-bulb apps, photography and white-balance tools, data-visualisation of temperature or spectra, theming and UI accents, and science and education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. These are perceptual approximations, not colorimetric CIE conversions; for hex/RGB/HSL conversion and palettes use a colour API.

api.oanor.com/colortemp-api

Bowling Score API

Ten-pin bowling maths as an API, computed locally and deterministically — the scoring, handicap and average numbers a bowler, league or scoring app runs on. The score endpoint plays a full game from a comma list of the pins knocked down on each roll and applies the real rules: a strike scores 10 plus your next two rolls, a spare 10 plus the next one, an open frame just the pins, with the 10th frame’s bonus rolls handled — so twelve strikes is a perfect 300, twenty 9-then-miss frames are 90, and all spares with a 5 bonus is 150, returned frame by frame with the running total. The handicap endpoint levels a league: handicap per game = ⌊(basis − average) × percent⌋, never below zero, so a 150 average on the common 90 %-of-220 setup earns 63 pins a game and 189 over a three-game series. The average endpoint divides total pins by games (dropping the fraction, as leagues do), rolls in a new series to update it, and works out the pins you need over the next games to reach a target average. Everything is computed locally and deterministically, so it is instant and private. Ideal for bowling-league, scoring, sports and recreation app developers, scorekeeping and handicap tools, and centre-management software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints.

api.oanor.com/bowling-api

Scale Model API

Scale-model maths as an API, computed locally and deterministically — the real-to-model conversions a modeller, model-railroader, wargamer or diorama-builder works in. The convert endpoint scales a dimension either way at any scale, given as a ratio (1:35), a number (87.1) or a name (Z, N, TT, HO, OO, S, O, G, 1/72, 1/48, 1/35, 1/24, 1/64, 1/43, 1/18): real → model divides by the ratio, model → real multiplies, so a 1:35 tank 6 metres long becomes 171 mm and an HO (1:87.1) boxcar 12.2 metres long becomes 140 mm, with the answer in mm, cm, m, inches and feet. The identify endpoint finds the scale from a real measurement and the model of it — scale = real ÷ model — and names the nearest standard scale with how far off it is, so you know whether figures and accessories will match. The scales endpoint lists the common named scales and compares any two, telling you that a 1:35 model is about 2.06 times the size of the same subject at 1:72. Everything is computed locally and deterministically, so it is instant and private. Ideal for scale-modelling, model-railroad, wargaming, diecast, architecture and diorama app developers, conversion and shopping tools, and hobby software. Pure local computation — no key, no third-party service, instant. Length in mm/cm/m/in/ft. Live, nothing stored. 3 compute endpoints. For typographic modular scales use a different API.

api.oanor.com/scalemodel-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Photometry & Lighting API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Photometry & Lighting API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Photometry & Lighting API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Photometry & Lighting API cost?
Photometry & Lighting API has a free tier with 100 calls / month. Paid plans start at €5.40 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Photometry & Lighting API GDPR-compliant?
All requests to Photometry & Lighting API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/photometry-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/photometry-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/photometry-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/photometry-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.