Search API
Purpose: Search Quran content.
Use this when: You have a backend and need search results from Quran Foundation Search APIs.
Do not use this when: You only have frontend or mobile code with no backend.
Backend required: Yes.
Allowed runtimes: Node.js, serverless functions, workers.
Required credentials: client_id, client_secret, Search API access.
Minimal import: @quranjs/api/server.
Use @quranjs/api/server.
import { SearchMode } from "@quranjs/api";
import { createServerClient } from "@quranjs/api/server";
const client = createServerClient({
clientId: process.env.QF_CLIENT_ID!,
clientSecret: process.env.QF_CLIENT_SECRET!,
});
const results = await client.search.v1.query({
query: "mercy",
mode: SearchMode.Quick,
});
Common Mistake
Do not call Search from @quranjs/api/public. Search is server-side for confidential clients. Production defaults are already built in.