Targets & geo
target picks the engine; geo picks the country the results are localized to
and the default locale. Both are optional and default to google_search and
us.
Capabilities by target
Section titled “Capabilities by target”| Target | page |
num |
safe |
|---|---|---|---|
google_search (default) |
1 to 5 | 1 to 20 | off, moderate, strict |
bing_search |
1 only | 1 to 20 | off, moderate, strict |
duckduckgo_search |
1 only | 1 to 10 | not supported |
yahoo_search |
1 only | 1 to 10 | off, moderate, strict |
brave_search |
1 to 5 | 1 to 20 | off, moderate, strict |
yandex_search |
1 to 5 | 1 to 10 | not supported |
A parameter the chosen target cannot serve answers 400 unsupported_parameter
and costs nothing:
bing_search,duckduckgo_search,yahoo_search:pageabove 1.duckduckgo_search,yahoo_search,yandex_search:numabove 10.duckduckgo_search,yandex_search:safeset to anything butoff.
The limits that hold for every target (page outside 1 to 5, num outside
1 to 20, an unknown safe value) answer 400 invalid_request
with the field named in issues.
Every target answers the same response shape, so switching engines is a change of one query parameter.
Defaults: page=1, num=10, safe=off.
# Bing, localized to the UK, two resultscurl -G "https://api.serpresult.com/v1/query" \ -H "Authorization: Bearer sk_live_your_key" \ --data-urlencode "query=bing webmaster guidelines" \ --data-urlencode "target=bing_search" \ --data-urlencode "geo=gb" \ --data-urlencode "num=2"const url = new URL("https://api.serpresult.com/v1/query");url.search = new URLSearchParams({ query: "bing webmaster guidelines", target: "bing_search", geo: "gb", num: "2",}).toString();
const response = await fetch(url, { headers: { Authorization: "Bearer sk_live_your_key" },});import requests
response = requests.get( "https://api.serpresult.com/v1/query", headers={"Authorization": "Bearer sk_live_your_key"}, params={ "query": "bing webmaster guidelines", "target": "bing_search", "geo": "gb", "num": 2, }, timeout=30,)Countries
Section titled “Countries”193 countries: every search is localized to the country you asked for, so the
results are the ones a user searching there sees. Each has a default locale
that applies when you send no locale. The ten launch geos head the
list in their original order; the rest follow by code.
Any other geo answers 400 unsupported_geo and costs nothing. The
response carries the whole supported list in details, in the order below,
so a client can refresh its own list from a rejection.
geo |
Country | Default locale |
|---|---|---|
us |
United States | en-us |
in |
India | en-in |
gb |
United Kingdom | en-gb |
ca |
Canada | en-ca |
au |
Australia | en-au |
de |
Germany | de-de |
fr |
France | fr-fr |
sg |
Singapore | en-sg |
ae |
United Arab Emirates | en-ae |
jp |
Japan | ja-jp |
ad |
Andorra | ca-ad |
af |
Afghanistan | ps-af |
ag |
Antigua and Barbuda | en-ag |
al |
Albania | sq-al |
am |
Armenia | hy-am |
ao |
Angola | pt-ao |
ar |
Argentina | es-ar |
at |
Austria | de-at |
aw |
Aruba | nl-aw |
az |
Azerbaijan | az-az |
ba |
Bosnia and Herzegovina | bs-ba |
bb |
Barbados | en-bb |
bd |
Bangladesh | bn-bd |
be |
Belgium | nl-be |
bf |
Burkina Faso | fr-bf |
bg |
Bulgaria | bg-bg |
bh |
Bahrain | ar-bh |
bi |
Burundi | fr-bi |
bj |
Benin | fr-bj |
bn |
Brunei | ms-bn |
bo |
Bolivia | es-bo |
br |
Brazil | pt-br |
bs |
Bahamas | en-bs |
bw |
Botswana | en-bw |
by |
Belarus | be-by |
bz |
Belize | en-bz |
cd |
Congo (DRC) | fr-cd |
cg |
Congo (Republic) | fr-cg |
ch |
Switzerland | de-ch |
ci |
Côte d’Ivoire | fr-ci |
cl |
Chile | es-cl |
cm |
Cameroon | en-cm |
cn |
China | zh-cn |
co |
Colombia | es-co |
cr |
Costa Rica | es-cr |
cu |
Cuba | es-cu |
cv |
Cape Verde | pt-cv |
cy |
Cyprus | el-cy |
cz |
Czech Republic | cs-cz |
dk |
Denmark | da-dk |
do |
Dominican Republic | es-do |
dz |
Algeria | ar-dz |
ec |
Ecuador | es-ec |
ee |
Estonia | et-ee |
eg |
Egypt | ar-eg |
es |
Spain | es-es |
et |
Ethiopia | am-et |
fi |
Finland | fi-fi |
fj |
Fiji | en-fj |
fm |
Micronesia | en-fm |
fo |
Faroe Islands | fo-fo |
ga |
Gabon | fr-ga |
gd |
Grenada | en-gd |
ge |
Georgia | ka-ge |
gf |
French Guiana | fr-gf |
gg |
Guernsey | en-gg |
gh |
Ghana | en-gh |
gm |
Gambia | en-gm |
gp |
Guadeloupe | fr-gp |
gq |
Equatorial Guinea | es-gq |
gr |
Greece | el-gr |
gt |
Guatemala | es-gt |
gu |
Guam | en-gu |
gy |
Guyana | en-gy |
hk |
Hong Kong | en-hk |
hn |
Honduras | es-hn |
hr |
Croatia | hr-hr |
ht |
Haiti | fr-ht |
hu |
Hungary | hu-hu |
id |
Indonesia | id-id |
ie |
Ireland | en-ie |
il |
Israel | iw-il |
iq |
Iraq | ar-iq |
ir |
Iran | fa-ir |
is |
Iceland | is-is |
it |
Italy | it-it |
jm |
Jamaica | en-jm |
jo |
Jordan | ar-jo |
ke |
Kenya | en-ke |
kg |
Kyrgyzstan | ky-kg |
kh |
Cambodia | km-kh |
km |
Comoros | fr-km |
kn |
Saint Kitts and Nevis | en-kn |
kr |
South Korea | ko-kr |
kw |
Kuwait | ar-kw |
ky |
Cayman Islands | en-ky |
kz |
Kazakhstan | kk-kz |
la |
Laos | lo-la |
lb |
Lebanon | ar-lb |
lc |
Saint Lucia | en-lc |
lk |
Sri Lanka | si-lk |
lr |
Liberia | en-lr |
ls |
Lesotho | en-ls |
lt |
Lithuania | lt-lt |
lu |
Luxembourg | fr-lu |
lv |
Latvia | lv-lv |
ly |
Libya | ar-ly |
ma |
Morocco | ar-ma |
md |
Moldova | ro-md |
me |
Montenegro | sr-me |
mg |
Madagascar | fr-mg |
mk |
North Macedonia | mk-mk |
ml |
Mali | fr-ml |
mm |
Myanmar | my-mm |
mn |
Mongolia | mn-mn |
mo |
Macau | zh-mo |
mp |
Northern Mariana Islands | en-mp |
mq |
Martinique | fr-mq |
mr |
Mauritania | ar-mr |
mt |
Malta | mt-mt |
mu |
Mauritius | en-mu |
mv |
Maldives | dv-mv |
mw |
Malawi | en-mw |
mx |
Mexico | es-mx |
my |
Malaysia | ms-my |
mz |
Mozambique | pt-mz |
na |
Namibia | en-na |
nc |
New Caledonia | fr-nc |
ne |
Niger | fr-ne |
ng |
Nigeria | en-ng |
ni |
Nicaragua | es-ni |
nl |
Netherlands | nl-nl |
no |
Norway | no-no |
np |
Nepal | ne-np |
nz |
New Zealand | en-nz |
om |
Oman | ar-om |
pa |
Panama | es-pa |
pe |
Peru | es-pe |
pf |
French Polynesia | fr-pf |
pg |
Papua New Guinea | en-pg |
ph |
Philippines | tl-ph |
pk |
Pakistan | en-pk |
pl |
Poland | pl-pl |
pr |
Puerto Rico | es-pr |
ps |
Palestine | ar-ps |
pt |
Portugal | pt-pt |
pw |
Palau | en-pw |
py |
Paraguay | es-py |
qa |
Qatar | ar-qa |
re |
Réunion | fr-re |
ro |
Romania | ro-ro |
rs |
Serbia | sr-rs |
ru |
Russia | ru-ru |
rw |
Rwanda | rw-rw |
sa |
Saudi Arabia | ar-sa |
sb |
Solomon Islands | en-sb |
sd |
Sudan | ar-sd |
se |
Sweden | sv-se |
si |
Slovenia | sl-si |
sk |
Slovakia | sk-sk |
sl |
Sierra Leone | en-sl |
sn |
Senegal | fr-sn |
so |
Somalia | so-so |
sr |
Suriname | nl-sr |
st |
São Tomé and Príncipe | pt-st |
sv |
El Salvador | es-sv |
sy |
Syria | ar-sy |
sz |
Eswatini | en-sz |
td |
Chad | ar-td |
tg |
Togo | fr-tg |
th |
Thailand | th-th |
tj |
Tajikistan | tg-tj |
tl |
Timor-Leste | pt-tl |
tn |
Tunisia | ar-tn |
to |
Tonga | en-to |
tr |
Türkiye | tr-tr |
tt |
Trinidad and Tobago | en-tt |
tw |
Taiwan | zh-tw |
tz |
Tanzania | sw-tz |
ua |
Ukraine | uk-ua |
ug |
Uganda | en-ug |
uy |
Uruguay | es-uy |
uz |
Uzbekistan | uz-uz |
vc |
Saint Vincent and the Grenadines | en-vc |
ve |
Venezuela | es-ve |
vg |
British Virgin Islands | en-vg |
vi |
U.S. Virgin Islands | en-vi |
vn |
Vietnam | vi-vn |
vu |
Vanuatu | bi-vu |
ye |
Yemen | ar-ye |
za |
South Africa | af-za |
zm |
Zambia | en-zm |
zw |
Zimbabwe | en-zw |
The locale rule
Section titled “The locale rule”locale is a language-region tag in the form xx-yy. It is case-insensitive
on input and stored lowercase, so en-GB and en-gb are the same value.
When you send one it is used as given; when you send none, the default for
geo is used. The resolved value is echoed back as locale in the response.