Skip to main content

Get Context

Retrieve documentation context for a specific library. Returns documentation as a JSON array of documentation snippets (default) or as plain text.

Arguments

query
string
required
The user’s question or task (used for relevance ranking)
libraryId
string
required
The library identifier (e.g., /facebook/react)
options
GetContextOptions

Response

The response type depends on the type option.

JSON Format (type: "json" or default)

Returns Documentation[] - an array of documentation objects.

Text Format (type: "txt")

Returns a string containing the documentation context ready to use in LLM prompts.
Documentation
object

Examples

import { Context7 } from "@upstash/context7-sdk";

const client = new Context7();

const docs = await client.getContext(
  "How do I use hooks?",
  "/facebook/react"
);

docs.forEach((doc) => {
  console.log(doc.title);
  console.log(doc.content);
  console.log(doc.source);
});

Use Cases

Providing Context to LLMs

import { Context7 } from "@upstash/context7-sdk";

const client = new Context7();

async function getDocsForPrompt(library: string, question: string) {
  const context = await client.getContext(question, library);

  return `
Here is the relevant documentation:

${context}

User question: ${question}
`;
}

const prompt = await getDocsForPrompt("/facebook/react", "How do I use useEffect?");

Processing Individual Snippets

import { Context7 } from "@upstash/context7-sdk";

const client = new Context7();

const docs = await client.getContext(
  "How to create components?",
  "/facebook/react",
  { type: "json" }
);

docs.forEach((doc) => {
  console.log(`Title: ${doc.title}`);
  console.log(`Source: ${doc.source}`);
  console.log(`Content length: ${doc.content.length} chars`);
});