Skip to content

New Official SDKs for TypeScript, Python and Go

SerpKite
Get API key
Docs menu / Page content

Page content

Fetch the top search results as clean Markdown in the same /v1/search call with include_content. One request instead of a search plus N page fetches, +1 credit per page.

View as Markdown

Snippets are often not enough to answer a question. With include_content, SerpKite runs the search and then fetches the top N organic results for you, converts each page to clean Markdown and puts it into results[].content. One request replaces a search plus N separate scrapes, which is the usual first step of a RAG pipeline.

curl https://api.serpkite.com/v1/search \
  -H "Authorization: Bearer $SERPKITE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"how does retrieval augmented generation work","country":"us","include_content":3}'

Parameters

ParameterTypeDefaultDescription
include_contentinteger0Also fetch the top N result pages (0–5) as Markdown. +1 credit per page.
  • Only on /v1/search. Other endpoints return 400 invalid_request.
  • 0 (default) to 5. The first N results are fetched, in position order.
  • For a single URL you already have, use /v1/webpage instead.

Response

Each fetched result gets a content field with the page’s main content as Markdown, the same extraction /v1/webpage uses. Results beyond N, and results whose page could not be fetched, have no content.

{
  "request": { "endpoint": "search", "engine": "google", "q": "how does retrieval augmented generation work", "country": "us", "language": "en", "include_content": 3 },
  "results": [
    {
      "position": 1,
      "title": "What is retrieval-augmented generation?",
      "link": "https://www.example.com/rag-explained",
      "domain": "example.com",
      "snippet": "Retrieval-augmented generation (RAG) combines a retriever with a language model…",
      "content": "# What is retrieval-augmented generation?\n\nRetrieval-augmented generation (RAG) is a technique that…"
    },
    {
      "position": 2,
      "title": "RAG, step by step",
      "link": "https://docs.example.org/rag",
      "domain": "docs.example.org",
      "content": "# RAG, step by step\n\n1. Split your documents into chunks…"
    }
  ],
  "related_searches": [],
  "meta": { "request_id": "req_01J8ZK4M6Q2V7", "credits_used": 4, "cached": false, "engine": "google" }
}

include_content combines with the other output options:

  • format: "compact" keeps content on each row of results.
  • format: "markdown" puts each fetched page, indented and wrapped in a content tag, under its result.
  • fields: "results.title,results.link,results.content" returns only what a retriever needs.

Pricing

The search costs its normal price, and each fetched page adds 1 credit:

Request Credits
/v1/search 1
/v1/search + include_content: 3 up to 4
/v1/search + include_content: 5 up to 6
/v1/search + include_content: 3 via POST /v1/batches up to 2

The maximum is reserved when the request starts. Pages that can’t be fetched (timeouts, blocked or non-HTML pages) are not billed, and the unused part of the reservation is refunded, so meta.credits_used and X-Credits-Used show what you actually paid.

Limits and good practice

  • Only public pages are fetched, the same way a logged-out visitor sees them. Nothing behind a login or paywall is retrieved.
  • Fetching pages adds latency, since the slowest of the N pages bounds the response. Use a client timeout of at least 60 seconds, or queue the request with POST /v1/batches.
  • Page content can be long. Check X-Tokens-Estimate before putting everything into a prompt, and chunk or truncate on your side.

Related: Webpage endpoint, RAG pipeline, Output formats.

Last updated: 2026-09-29