Search API · Web

Web Search API for AI Agents

A real-time web search endpoint built for LLM tool calling. Predictable JSON output, country and date filters, and per-call credit billing — drop into OpenAI function calling, Claude tool use, or any agent framework.

15 credits / call60 req / minPOST /api/search/web

Try Web Search Live

Enter your API key and run a real query against the live endpoint.

API Authentication Required
Enter your API key to access this service. All API calls require authentication.

Don't have an API key?

Sign in to your account to create and manage your API keys.

API Integration Guide

Learn how to integrate this API into your applications with code examples and detailed documentation.

API Overview
Search the public web in real time. Powered by Valyu, returns the top relevant pages with cleaned-up snippets ready for downstream LLMs.
POST
/api/search/web

Base URL

https://www.apipick.com

Full Endpoint

https://www.apipick.com/api/search/web
Parameters
Required and optional parameters for this API
query
required
string

Natural-language search query

max_num_results
optional
integer

1–5, default 5

relevance_threshold
optional
number

0.0–1.0 quality filter

country_code
optional
string

ISO country code (e.g. US, GB)

start_date
optional
string

ISO date YYYY-MM-DD

end_date
optional
string

ISO date YYYY-MM-DD

Code Examples
Copy and paste these examples to quickly integrate the API into your application

cURL Request

curl -X POST "https://www.apipick.com/api/search/web" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "query": "Anthropic Claude API pricing 2026",
  "max_num_results": 5,
  "country_code": "US",
  "start_date": "2026-01-01"
}'
Replace YOUR_API_KEY with your actual API key
Response Example
Example response from the API

JSON Response

{
  "query": "Anthropic Claude API pricing 2026",
  "results": [
    {
      "title": "Example result",
      "url": "https://example.com/article",
      "snippet": "Short excerpt of the page content…",
      "source_type": "web",
      "published_at": "2026-04-15",
      "score": 0.92
    }
  ],
  "result_count": 1,
  "credits_used": 15,
  "remaining_credits": 99
}
Integration Tips

Best Practices

  • • Always include x-api-key header
  • • Always handle errors gracefully
  • • Validate input data before sending
  • • Use HTTPS for secure communication
  • • Cache responses when appropriate

Response Headers

  • • Content-Type: application/json
  • • x-api-key: Required for authentication
  • • Status codes: 200 (success), 400 (error), 401 (unauthorized)
  • • No rate limiting applied

Rate Limits

⏱️

Request Rate

60req / min

Per API key, per endpoint. Sliding 60-second window.

🔀

Concurrency

3concurrent

Max simultaneous in-flight requests per API key.

Response Headers

X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetSeconds until the current window resets
Retry-AfterSeconds to wait before retrying (only on 429)

429 Too Many Requests

HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded: 60 requests/minute per API key. Retry after 12s.",
  "retry_after": 12
}

Frequently Asked Questions

What's different from Google or Bing search APIs?

Responses are pre-shaped for LLM consumption: short snippets (no boilerplate), structured JSON, and a relevance score. There's no need for a separate scrape-and-clean step before feeding results to a model.

How are results ranked?

Valyu's underlying search uses semantic embeddings rather than keyword matching, so results are ranked by meaning. You can also pass relevance_threshold (0.0–1.0) to drop low-quality results.

Can I restrict to a specific country or date range?

Yes. Pass country_code (ISO 3166-1 alpha-2, e.g. US, JP) and/or start_date / end_date in YYYY-MM-DD format.

How do credits work for failed calls?

If the upstream search fails (5xx or invalid query), no credits are deducted. You're only charged for successful 2xx responses.

Is there a tool schema for OpenAI function calling?

Yes. GET /api/search/web/tool-schema returns ready-to-paste OpenAI function and Claude tool use definitions.