SerpBase

API reference · Search engines

Google Link Resolver

Free: turn Google's google.com/goto and /url result-link wrappers into the real page URLs, up to 50 links per request, from a list or a pasted search answer.

POSThttps://api.serpbase.dev/google/resolve
0 creditsOpen in Playground

Example

BASH
curl -X POST 'https://api.serpbase.dev/google/resolve' \
  -H "Content-Type: application/json" \
  -H 'X-API-Key: YOUR_API_KEY' \
  -d '{"links":["https://www.google.com/url?sa=t&url=https%3A%2F%2Fwww.example.com%2F"]}'

No recorded response is published for this endpoint yet. Run the example in the Playground to see a live one.

Parameters

links
string[]
Up to 50 Google result links (https://www.google.com/goto?...
More

or /url?...). Anything else is refused. Duplicates are resolved once.

response
object
Instead of links: a search answer exactly as returned.
More

Every Google result link in it is resolved, in the order it appears. Send links or response, not both.

country
string
Public alias for locale.country.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

cursor
string
Public alias for pagination.cursor.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

device
string
Public alias for options.device.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

gl
string
Public alias for locale.country.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

google_domain
string
Public alias for locale.engine_domain.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

gooogle_domain
string
Public alias for locale.engine_domain.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

hl
string
Public alias for locale.language.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

html
boolean
Public alias for include_html.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

language
string
Public alias for locale.language.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

limit
integer
Public alias for pagination.limit.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

markdown
boolean
Public alias for include_markdown.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

mobile
boolean
Public alias for options.device.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

num
integer
Public alias for pagination.limit.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

page
integer
Public alias for pagination.page.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

q
string
Public alias for query.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

results
integer
Public alias for pagination.limit.
More

Use one spelling at a time; the API validates the parameters and values supported by this product.

Free (0 credits). Limits: 50 links per request and 30 requests per minute per account. Google rate-limits these links, so a request can take up to about 25 seconds; links it could not finish come back with reason paced_over_budget and can simply be sent again.

What comes back

Fields that are not on the page for a given request are left out rather than sent empty.

resolved_links
required
ResolvedLink[]

required

One entry per link, in request order.

ResolvedLink Result item schema

link
required
string

required

The Google link as sent.

url
optional
string

When resolved.

The page the link leads to. Absent when it could not be resolved this time.

reason
required
string

required

resolved, or why not: paced_over_budget (Google asked us to wait longer than one request allows; send it again), challenge, no_location, timeout, not_a_wrapper, error.

If it fails

A failed request has a non-zero status and an error, and is not charged. The ones you will see here:

1000A parameter is missing or wrongFix the request
1020No credits leftTop up
1029Over your requests per secondWait Retry-After seconds
1502 · 1504The source could not be read this timeRetry
All status codes →