Skip to content

Serper

Nuget package dotnet License: MIT Discord

Features 🔥

  • Fully generated C# SDK based on official Serper OpenAPI specification using AutoSDK
  • Same day update to support new features
  • Updated and supported automatically if there are no breaking changes
  • All modern .NET features - nullability, trimming, NativeAOT, etc.
  • Support .Net Framework/.Net Standard 2.0

Usage

1
2
3
using Serper;

using var client = new SerperClient(apiKey);

Shows how to perform a Google web search.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
using var client = new SerperClient(apiKey);

// Perform a Google web search using the Serper API.
var response = await client.SearchAsync(new BaseSearchRequest
{
    Q = "artificial intelligence latest news",
    Num = 5,
});

// The response includes organic results, knowledge graph, and more.

foreach (var result in response.Organic)
{
    Console.WriteLine($"[{result.Position}] {result.Title}");
    Console.WriteLine($"    {result.Link}");
}

Shows how to search Google News for recent articles.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
using var client = new SerperClient(apiKey);

// Search Google News for recent articles on a topic.
var response = await client.NewsSearchAsync(new BaseSearchRequest
{
    Q = "technology startups 2026",
    Num = 5,
});

// The response contains a list of news articles with titles, sources, and dates.

foreach (var article in response.News)
{
    Console.WriteLine($"{article.Title}");
    Console.WriteLine($"    Source: {article.Source}, Date: {article.Date}");
    Console.WriteLine($"    {article.Link}");
}

Shows how to search Google Images for image results.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
using var client = new SerperClient(apiKey);

// Search Google Images for images matching a query.
var response = await client.ImageSearchAsync(new BaseSearchRequest
{
    Q = "northern lights aurora borealis",
    Num = 5,
});

// The response contains image results with URLs, dimensions, and source info.

foreach (var image in response.Images)
{
    Console.WriteLine($"{image.Title}");
    Console.WriteLine($"    {image.ImageUrl} ({image.ImageWidth}x{image.ImageHeight})");
    Console.WriteLine($"    Source: {image.Domain}");
}

Search Tool

Shows how to use Serper as an AIFunction tool with any IChatClient.

1
2
3
4
using var client = new SerperClient(apiKey);

// Create a Google search tool from the Serper client for use with any IChatClient.
var tool = client.AsSearchTool(numResults: 3);

Support

Priority place for bugs: https://github.com/tryAGI/Serper/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Serper/discussions
Discord: https://discord.gg/Ca2xhfBf3v

Acknowledgments

JetBrains logo

This project is supported by JetBrains through the Open Source Support Program.