Create Search
Early access. Tell us what you're building and we'll set you up. Contact us
Use GET /search.json for JSON clients. GET /search is also supported for SerpApi compatibility.
Fresh non-cached searches are queue-first and normally return 202 Accepted.
Request#
curl -sS "https://api.lempile.com/search.json?engine=google&q=Coffee&location=Austin%2C+Texas%2C+United+States&hl=en&gl=us" \
-H "X-API-KEY: your-api-key"Normal Fresh Response#
{
"search_metadata": {
"id": "search_id",
"status": "Processing",
"status_detail": "Queued",
"json_endpoint": "https://api.lempile.com/searches/search_id.json",
"raw_html_file": "https://api.lempile.com/searches/search_id.html",
"pixel_position_endpoint": "https://api.lempile.com/searches/search_id.json_with_pixel_position"
},
"search_parameters": {
"engine": "google",
"q": "Coffee",
"google_domain": "google.com",
"device": "desktop"
}
}Cached Response#
If an identical successful search is still cached, Lempile may return 200 OK immediately with final organic_results.
Queue Full Response#
If the workspace already has too many pending searches, Lempile returns 429.
{
"error": "Workspace Google search queue is full.",
"error_code": "workspace_search_queue_full"
}Important Parameters#
| Parameter | Purpose |
|---|---|
q |
Google query. Supports operators such as site:, inurl:, and quoted phrases. |
location |
Human-readable location. Do not combine with uule, lat, or lon. |
gl |
Country localization, such as us, ca, or fr. |
hl |
Interface language, such as en or fr. |
tbs |
Google filter string, such as qdr:m. |
device |
desktop, mobile, or tablet. Defaults to desktop. |
no_cache |
Set to true to force a fresh queued browser run. |
async is still accepted for compatibility, but fresh searches are queue-first by default whether or not async=true is sent.
Was this page helpful?