Code Examples
Ready-to-use code examples for common use cases.
Quick start examples
🐍
Python
requests, httpx, async patterns
📦
JavaScript
fetch, axios, Node.js, browser
🦜
LangChain
RAG, retrieval, agents
📄
cURL
Command-line examples
Basic search
Python
import requests
response = requests.get(
"https://api.wikirest.com/v1/search",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"q": "artificial intelligence", "limit": 5}
)
for hit in response.json()["hits"]:
print(f"{hit['title']}: {hit['text'][:100]}...") JavaScript
const response = await fetch(
"https://api.wikirest.com/v1/search?q=artificial+intelligence&limit=5",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await response.json();
data.hits.forEach(hit => {
console.log(`${hit.title}: ${hit.text.slice(0, 100)}...`);
}); RAG with OpenAI
import requests
import openai
# 1. Search Wikipedia for relevant context
wiki_response = requests.get(
"https://api.wikirest.com/v1/search",
headers={"X-API-Key": "WIKIREST_KEY"},
params={"q": "quantum computing applications", "limit": 3}
).json()
# 2. Build context from search results
context = "\n\n---\n\n".join([
f"Source: {hit['title']} ({hit['url']})\n{hit['text']}"
for hit in wiki_response["hits"]
])
# 3. Use context in OpenAI completion
response = openai.chat.completions.create(
model="gpt-4",
messages=[
{
"role": "system",
"content": f"""Answer questions using the following Wikipedia context.
Always cite your sources.
Context:
{context}"""
},
{
"role": "user",
"content": "What are the main applications of quantum computing?"
}
]
)
print(response.choices[0].message.content) Pagination
import requests
def search_all(query, max_results=100):
"""Fetch all results with pagination."""
results = []
offset = 0
limit = 50 # Max per request
while len(results) < max_results:
response = requests.get(
"https://api.wikirest.com/v1/search",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"q": query, "limit": limit, "offset": offset}
).json()
hits = response["hits"]
if not hits:
break
results.extend(hits)
offset += limit
# Check if we've reached the end
if len(hits) < limit:
break
return results[:max_results]
# Get up to 100 results
all_results = search_all("machine learning", max_results=100) Error handling
import requests
import time
def search_with_retry(query, max_retries=3):
"""Search with automatic retry on rate limit."""
for attempt in range(max_retries):
response = requests.get(
"https://api.wikirest.com/v1/search",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"q": query, "limit": 10}
)
if response.status_code == 200:
return response.json()
if response.status_code == 429:
# Rate limited - wait and retry
retry_after = int(response.headers.get("Retry-After", 60))
print(f"Rate limited. Waiting {retry_after}s...")
time.sleep(retry_after)
continue
if response.status_code == 401:
raise Exception("Invalid API key")
response.raise_for_status()
raise Exception("Max retries exceeded")
try:
results = search_with_retry("test query")
except Exception as e:
print(f"Error: {e}") More examples
- Python examples - Detailed Python patterns
- JavaScript examples - Browser and Node.js
- LangChain integration - Build RAG applications