Skip to main content

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.