Skip to content

Quickstart

Create an account at app.serplify.io (email magic link — no password) and you start with $5 of free balance. Open API keys → Create key and copy the key — it is shown once.

Keys look like live_… (production) or test_….

Terminal window
curl -X POST https://api.serplify.io/v1/serp/search \
-H "Authorization: Bearer live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"keyword": "best running shoes",
"location": { "code": 2840 },
"language": { "code": "en" },
"device": "desktop",
"format": "advanced"
}'
{
"request_id": "req_9f2c…",
"status": "ok",
"meta": { "api_version": "0.1.0", "time": 1.13, "cost": 0.005, "currency": "USD" },
"data": {
"keyword": "best running shoes",
"search_engine": "google",
"search_engine_domain": "google.com",
"device": "desktop",
"location": { "code": 2840, "name": "United States" },
"language": { "code": "en", "name": "English" },
"result_url": "https://www.google.com/search?q=best+running+shoes",
"fetched_at": "2026-07-02T12:00:00.000Z",
"total_results_count": 1240000000,
"pages_crawled": 1,
"items_count": 42,
"feature_types": ["organic", "paid", "people_also_ask", "related_searches"],
"items": [ /* … SERP items … */ ]
}
}
Node.js (fetch)
const res = await fetch("https://api.serplify.io/v1/serp/search", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SERPLIFY_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
keyword: "best running shoes",
location: { code: 2840 },
language: { code: "en" },
format: "advanced",
}),
});
const body = await res.json();
console.log(body.data.items);
Python (requests)
import os, requests
res = requests.post(
"https://api.serplify.io/v1/serp/search",
headers={"Authorization": f"Bearer {os.environ['SERPLIFY_KEY']}"},
json={
"keyword": "best running shoes",
"location": {"code": 2840},
"language": {"code": "en"},
"format": "advanced",
},
)
res.raise_for_status()
print(res.json()["data"]["items"])