JavaScript
Node.js 18+ includes fetch and URLSearchParams, so no dependency is required.
const params = new URLSearchParams({
version: "en-kjv",
reference: "John 3:16",
});
const response = await fetch(
`https://scriptureflow-api-preview.pages.dev/api/verse?${params}`
);
if (!response.ok) {
throw new Error(`HTTP ${response.status} ${response.statusText}`);
}
const data = await response.json();
if (data.ok !== true) {
throw new Error(data.error || "Unknown ScriptureFlow API error");
}
console.log(`${data.reference} (${data.version})`);
console.log(data.text);
Browse the public JavaScript files:
get-verse.js and
quick-verse.js.
Python
This standard-library example uses urllib.request and urllib.parse.
import json
from urllib.parse import urlencode
from urllib.request import urlopen
query = urlencode({
"version": "en-kjv",
"reference": "John 3:16",
})
url = f"https://scriptureflow-api-preview.pages.dev/api/verse?{query}"
with urlopen(url, timeout=30) as response:
if not 200 <= response.status < 300:
raise RuntimeError(f"HTTP {response.status}")
data = json.load(response)
if data.get("ok") is not True:
raise RuntimeError(data.get("error", "Unknown ScriptureFlow API error"))
print(f"{data['reference']} ({data['version']})")
print(data["text"])
Browse the public Python files:
get_verse.py and
quick_verse.py.