API documentation

Google Search API

Send a Google Search URL and receive the visible result blocks as JSON.

Endpoint
POSThttps://api.reserp.ai/v1/serp
Authentication
Authorization: Bearer $API_KEY
Content type
application/json

Quick start

curl -X POST https://api.reserp.ai/v1/serp \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.google.com/search?q=openai+latest+models&gl=us&hl=en"}'

Request

The JSON body contains one required field.

urlstring · required

A complete https://www.google.com/search URL containing a non-empty q parameter. Maximum length: 10,000 characters.

{
  "url": "https://www.google.com/search?q=hotels+tokyo&gl=jp&hl=ja&start=10"
}

Google URL parameters

All Google URL parameters are supported and passed through unchanged except for the parameters listed as unsupported by Reserp below. Common parameters include:

qSearch queryopenai latest models
glCountryus
hlLanguageen
startOrganic-result offset (multiples of 10)10
tbsTime or result filterqdr:w
tbmSearch typenws

Unsupported parameters

These parameters are unsupported by Reserp.

numResults per page400 invalid_request · not billed

Pagination rules

Pagination uses Google’s organic-result offset, not the number of URLs in results. A response can contain URLs from many visible result types—including organic listings, news, carousels, sitelinks, and nested result blocks—so never derive the next offset from results.length.

The start parameter selects the page by Google’s organic-result offset. Omit it or use 0 for the first page, 10 for the second, 20 for the third, and continue in increments of 10. Any value that is not a non-negative multiple of 10 returns a non-billable 400 invalid_request response.

pagination.nextUrl is provided as a convenience for clients advancing from a completed response. Clients fetching pages asynchronously can set a valid start value directly.

Response

Successful requests return HTTP 200.

Response object

okboolean

True for a successful response.

urlstring

The submitted Google Search URL.

finalUrlstring

The final URL after Google redirects.

resultsResult[]

Result blocks in Google’s response order.

paginationPagination

Google offset metadata generated independently of results.length.

billedboolean

Whether billing settled by charging balance or consuming Free allowance.

Result object

textstring?

Visible text for the result block, joined with newlines. Omitted when the block has no visible text.

urlstring?

Normalized external URL when present.

childrenResult[]?

Nested blocks retained when flattening would lose a URL boundary or descendant content.

Pagination object

startinteger

The current Google organic-result offset; defaults to 0.

nextStartinteger

The next offset, always current start plus 10.

nextUrlstring

The submitted search URL with start set to nextStart.

Example

{
  "ok": true,
  "url": "https://www.google.com/search?q=photonic+computing&gl=us&hl=en",
  "finalUrl": "https://www.google.com/search?q=photonic+computing&gl=us&hl=en",
  "results": [
    {
      "text": "The World Economic Forum https://www.weforum.org How photonic computing can move from promise to commercialization\nAbout this result",
      "url": "https://www.weforum.org/stories/technological-innovation/photonic-computing-promise-commercialization"
    },
    {
      "text": "Reddit · r/computerscience 7 comments · 1 year ago What are your thoughts about photonic computers? Do you know if they ...\nView all posts",
      "url": "https://www.reddit.com/r/computerscience/comments/1ha9fa9/what_are_your_thoughts_about_photonic_computers"
    },
    {
      "text": "I think it is very promising, but there are still a lot of issues to resolve. There have been ... More Top answer · 7 votes",
      "url": "https://www.reddit.com/r/computerscience/comments/1ha9fa9/what_are_your_thoughts_about_photonic_computers/m16uq7m"
    },
    {
      "text": "Probably not going to be of commercial use soon. The main outstanding issue is nonlinearity. ... More 3 votes",
      "url": "https://www.reddit.com/r/computerscience/comments/1ha9fa9/what_are_your_thoughts_about_photonic_computers/m18kujp"
    },
    {
      "text": "Optical CPUs: Is the Future of Computing Light-Based? - Reddit r/computerscience 30+ comments 8mo\nOptical CPUs: Is the Future of Computing Light-Based? Reddit · r/computerscience · 30+ comments · 8mo",
      "url": "https://www.reddit.com/r/computerscience/comments/1pdgirj/optical_cpus_is_the_future_of_computing_lightbased"
    },
    {
      "text": "Photonic computer chips perform as well as purely electronic ... - Reddit r/Physics 20+ comments 1y",
      "url": "https://www.reddit.com/r/Physics/comments/1kfeufo/photonic_computer_chips_perform_as_well_as_purely"
    },
    {
      "text": "APS Journals https://link.aps.org Photonic Computing Takes a Step Toward Fruition - APS Journals\nAbout this result",
      "url": "https://link.aps.org/doi/10.1103/Physics.18.84"
    },
    {
      "text": "You need micropower non linear elements to be able to fabricate gates and to provide the ... More discussions on Optical CPUs: Is the Future of Computing Light-Based? Top answer · 29 votes",
      "url": "https://www.reddit.com/r/computerscience/comments/1pdgirj/optical_cpus_is_the_future_of_computing_lightbased/ns4z246"
    },
    {
      "text": "Actually, generating photons take quite a lot of die space, and, iirc since gates are based ... More discussions on Optical CPUs: Is the Future of Computing Light-Based? 8 votes",
      "url": "https://www.reddit.com/r/computerscience/comments/1pdgirj/optical_cpus_is_the_future_of_computing_lightbased/ns4vq37"
    },
    {
      "text": "Is Photonic Computing the future? Quora · 30+ answers · 11y",
      "url": "https://www.quora.com/Is-Photonic-Computing-the-future"
    },
    {
      "text": "Photonic Chips Are Coming Faster Than Anyone Expected ... YouTube Europe’s Foundry Dec 10, 2025\nPhotonic Chips Are Coming Faster Than Anyone Expected ... by Europe’s Foundry on YouTube. Play on YouTube. 19:50. Start time is 18 minutes, 37 seconds. Segment duration is 40 seconds\nFrom 18 minutes, 37 seconds.Akhetonix is building the world's first all-optical computer, which will be more efficient and energy-saving than traditional electronic computers.",
      "url": "https://www.youtube.com/watch?t=1117&v=9tqOPS6x9l8"
    },
    {
      "text": "This NPU Is 6000% Faster Than A GPU ? ( Photonic Chips Explained) YouTube Code Bear 3 days ago\nThis NPU Is 6000% Faster Than A GPU ? ( Photonic Chips Explained) by Code Bear on YouTube. Play on YouTube. 4:16\nPhotonic chips use light for computation, offering up to 25x faster inference & 6x less energy for specific AI workloads like ResNet-18.",
      "url": "https://www.youtube.com/watch?v=hxdZ01cbZH0"
    },
    {
      "text": "1000x Faster Than Silicon: The Rise of Photonic Chips YouTube The Forge Empire Sep 16, 2025\n1000x Faster Than Silicon: The Rise of Photonic Chips by The Forge Empire on YouTube. Play on YouTube. 13:03",
      "url": "https://www.youtube.com/watch?v=QAc8HQ72lK0"
    },
    {
      "text": "Wikipedia https://en.wikipedia.org Optical computing\nAbout this result\nOptical components for binary...\nChallenges\nPhotonic logic\nUnconventional approaches",
      "url": "https://en.wikipedia.org/wiki/Optical_computing"
    },
    {
      "text": "IBM Research https://research.ibm.com Photonic Computing\nAbout this result",
      "url": "https://research.ibm.com/projects/exploratory-photonics"
    },
    {
      "text": "Photonic Inc. https://photonic.com Photonic Inc.: Distributed Quantum Computing at Scale\nAbout this result",
      "url": "https://photonic.com/"
    },
    {
      "text": "PhotonDelta https://www.photondelta.com How do photonic chips process information?\nAbout this result",
      "url": "https://www.photondelta.com/blog/how-do-photonic-chips-process-information"
    }
  ],
  "pagination": {
    "start": 0,
    "nextStart": 10,
    "nextUrl": "https://www.google.com/search?q=photonic+computing&gl=us&hl=en&start=10"
  },
  "billed": true
}

Errors

Every error response contains the same four fields.

okfalse

Always false.

errorstring

Stable public error code.

retryableboolean

Retry only when true.

billedboolean

Whether billing settled before this error response.

{
  "ok": false,
  "error": "service_unavailable",
  "retryable": true,
  "billed": false
}

Error codes

400invalid_request

Fix the request before sending it again.

401authentication_failed

Check the bearer API key.

402free_allowance_exhausted

Add balance or wait for the next UTC month.

403request_not_allowed

The account or request is not permitted.

429rate_limited

Use Retry-After before retrying.

500internal_error

An unexpected service error occurred.

502search_failed

The search could not be completed.

503service_unavailable

The service is temporarily unavailable.

Retry only when retryable is true. For 429, wait for the number of seconds in Retry-After. For other retryable errors, use exponential backoff with jitter. billed confirms that billing settled by charging prepaid balance or consuming Free allowance.