LectServe API
Free lectionary API with no key: today's and Sunday's scripture readings from the Revised Common and ACNA lectionaries, with liturgical year and season. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the LectServe API?
LectServe returns Protestant lectionary readings as JSON with no API key. A request for today gives both the current day's readings and the coming Sunday's, with the liturgical year letter, service names and the lectionary in use.
Lectionaries are three-year cycles of prescribed scripture readings, and computing which passages belong to a given date requires tracking the liturgical calendar — a genuinely fiddly calculation involving Easter, movable feasts and a year letter that rotates A, B, C. LectServe does that and returns the answer, which is why it turns up behind church websites and daily-reading apps.
The response shape is the thing to understand: `red_letter` covers the requested day and `sunday` covers the coming Sunday, and both are returned together because a weekday frequently has no readings of its own. That case is explicit rather than empty — `type` reads `noLect` and `readings` is an empty array, which is a proper answer rather than a gap. The `year` field is the liturgical year letter, not a calendar year, and `lectionary` names the tradition, `acna` in the captured response. Both `prevSunday` and `nextSunday` are given, so navigating the cycle needs no date arithmetic on your side.
Quick facts
- Base URL
https://www.lectserve.com- Authentication
- No API key and no account.
- Rate limit
- No published limit. Readings for a date never change — cache indefinitely.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the LectServe API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch today's lectionary readings
GET https://www.lectserve.com/today
curl 'https://www.lectserve.com/today'const res = await fetch("https://www.lectserve.com/today");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.lectserve.com/today", timeout=20)
res.raise_for_status()
print(res.json()){
"sunday": {
"nextSunday": "2026-08-30",
"day": "Sunday",
"year": "A",
"date_pretty": "23. August 2026",
"date": "2026-08-23",
"prevSunday": "2026-08-16",
"services": [
{
"alt": "",
"name": "Sunday Closest to August 24",
"readings": [
"Isaiah 51:1-6",
"Psalm 138",
"Romans 11:25-36",
"Matthew 16:13-20"
]
}
],
"lectionary": "acna",
"type": "Sunday"
},
"daily": {
"tomorrow": "2026-08-22",
"week": "Sunday Closest to August 17",
"day": "Friday",
"date": "2026-08-21",
"date_pretty": "21. August 2026",
"yesterday": "2026-08-20",
"lectionary": "acna-sec",
"readings": {
"morning": {
"first": "2 Samuel 9",
"second": "Philippians 2:12-end"
},
"evening": {
"second": "John 17",
"first": "Amos 2"
}
}
},
"red_letter": {
"year": "A",
"nextSunday": "2026-08-23",
"day": "Friday",
"date": "2026-08-21",
"date_pretty": "21. August 2026",
"type": "noLect",
"services": [
{
"readings": [],
"name": "Friday, August 21, 2026",
"alt": ""
}
],
"prevSunday": "2026-08-16",
"lectionary": "acna"
}
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(date path) | path | Required | `/today`, or a specific date as `/YYYY/MM/DD`. today |
lectionary | query | Optional | Which tradition to use, such as `acna` or the Revised Common Lectionary. acna |
Response fields
red_letterobject- The requested day. Named for red-letter days in the liturgical calendar.
sundayobject- The coming Sunday, returned alongside because most weekdays have no readings of their own.
[block].typestring- `Sunday`, a feast name, or `noLect` when the day has no prescribed readings.
[block].date / date_prettystring- ISO date and a human-readable form such as `21. August 2026`.
[block].daystring- Day of the week.
[block].yearstring- Liturgical year letter — A, B or C. Not a calendar year.
[block].servicesarray- Services for that day, each with a `name`, an `alt` alternative and a `readings` array of scripture references.
[block].services[].readingsarray- Scripture references as strings, such as `Isaiah 51:1-6`. Empty on a `noLect` day.
[block].prevSunday / nextSundaystring- Adjacent Sundays as ISO dates, so you can navigate the cycle without computing it.
[block].lectionarystring- Which lectionary tradition produced these readings, for example `acna`.
What you can build with the LectServe API
- Display today's readings on a church website
- Build a daily scripture reading app or email
- Generate an order of service from the prescribed passages
- Navigate the liturgical calendar without implementing the date rules
Common errors and how to fix them
Empty readings array
The day is `noLect` — it has no prescribed readings.
Fix: Fall back to the `sunday` block, which is returned for exactly this reason.
Year looks wrong
`year` is the liturgical year letter A, B or C.
Fix: It is not a calendar year. The cycle rotates and does not align with January.
http request redirects
The service redirects plain http to https.
Fix: Request https directly to avoid the extra round trip.
Different readings than expected
Traditions prescribe different passages for the same date.
Fix: Set `lectionary` explicitly rather than accepting the default, and state which tradition you are showing.
LectServe API — frequently asked questions
Is LectServe free?
Yes, free with no key or account. It serves Protestant lectionary data as JSON.
Why does it return both today and Sunday?
Because most weekdays have no prescribed readings of their own — `type` reads `noLect` and the readings array is empty. The Sunday block is returned so you always have something to display.
What does the year field mean?
The liturgical year letter, A, B or C. Lectionaries run on a three-year cycle that does not align with the calendar year, so this is a cycle position rather than a date.
Which lectionaries are supported?
The Revised Common Lectionary and the ACNA lectionary among others. Set the `lectionary` parameter explicitly, since different traditions prescribe different readings for the same date.
Tools that pair with this API
Printable Calendar Generator
Draw a printable month or full-year calendar with ISO week numbers and your own events, then export a print-ready PNG or PDF at A4 or Letter proportions.
Easter Date Calculator
Work out Easter Sunday for any year from 1583 with the Gregorian computus, plus Orthodox Easter and every movable feast from Ash Wednesday to Pentecost.
Date Difference Calculator
Calculate the exact difference between two dates in years, months and days, plus total days, weeks, hours and minutes. Free, fast and private.
LectServe is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.