Ecosia · locale
Ecosia SERP API
Set country and hl for each Ecosia query.
Ecosia requests take q plus country and hl, and return organic rows with rank, title and url.
Ecosia endpoints opening soon.
r = requests.post(f"{API}/v1/serp/ecosia/organic", headers=H, json={"q": "fahrrad", "country": "DE", "hl": "de"})
print([o["title"] for o in r.json()["organic"]]) # engine: "ecosia"Locale pairing note
Ecosia sessions are pooled per country, language and device, so pass country and hl explicitly on every request. If no session is available for that pair, the request returns 503 and nothing is billed.
Python 3-liner
import requests
r = requests.post(f"{API}/v1/serp/ecosia/organic", headers=H, json={"q": "fahrrad", "country": "DE", "hl": "de"})
print([o["title"] for o in r.json()["organic"]])Launch status for this page
Check engine availability before choosing an endpoint. Google also supports News, Images and asynchronous tasks.
- EcosiaEcosia endpoints opening soon: until they open, requests return 503 service_unavailable and are not charged.
SERP searches are charged per successful search at a display rate of 2 Credits per search; failed searches are not charged. Polling task status is free. The current rate is on Pricing.
Frequently asked questions
Which body fields?
q, country, hl and device. device defaults to desktop; mobile is not verified.
What if no session is available?
The request returns 503.
Async for Ecosia?
No.