About
Built because scraping search yourself is a full-time job
SerpResult started as an internal need. Getting ranked results out of a search engine is easy once and miserable forever: the markup shifts, a datacentre address gets a different page than a home one, and half the answer is client-side. So the moving parts live here, and your side of it is one HTTP call.
What we run
Requests hit an API that resolves them against a self-hosted fetch node, one engine per target and country, with outbound traffic leaving from the country you asked for. Responses are cached so a repeated query does not repeat the work, and you decide how fresh a cached answer has to be.
What that buys you is boring reliability: the same fields in the same places, whichever engine and wherever the search was resolved from.
One response shape
Every target and every country answers with the same object. A new engine behind the API should never become a new parser in your codebase.
Organic results, nothing else
Ads, shopping carousels and knowledge panels change constantly and break integrations. We return the ranked organic list and leave the rest out.
Synchronous by default
You get results in the response to the request you made. Async jobs, queues and webhooks are complexity we would rather not hand to you.
Honest about limits
Supported countries, per-minute limits and what a credit covers are written down. Where something is still being decided, the page says so.
Want to talk to a person?
Questions about coverage, volume or a country we do not list yet go to [email protected] .
Stop maintaining a scraper.
Create an account, mint a key, and have parsed organic results in your code before the next standup.