📚 API Documentation

NerdSearch provides a free, open API for developers. All endpoints return JSON and support CORS for client-side applications.

Base URL: https://api.404nerds.com Rate Limit: None Auth: Not Required

🔍 Search Endpoints

GET /search

Search for web pages with full-text search and ranking.

Parameters

Parameter Type Required Description
q string Yes Search query
limit integer No Results per page (default: 50, max: 100)
topic string No Filter by topic (e.g., "gamedev", "tutorial")
domain string No Filter by domain name

Example Request

curl "https://api.404nerds.com/search?q=godot+tutorial&limit=10"

Example Response

{ "query": "godot tutorial", "count": 10, "results": [ { "id": 12345, "url": "https://example.com/godot-tutorial", "title": "Complete Godot Tutorial", "description": "Learn Godot from scratch...", "topic": "gamedev", "rank": 15.42 } ] }
GET /images/search

Search for images with safe search filtering.

Parameters

Parameter Type Required Description
q string Yes Search query
limit integer No Results per page (default: 50, max: 200)
safe_search string No "strict", "moderate", or "off" (default: "strict")
min_width integer No Minimum image width in pixels
min_height integer No Minimum image height in pixels

Example Request

curl "https://api.404nerds.com/images/search?q=pixel+art&min_width=800"

📊 Statistics Endpoints

GET /stats/index

Get overall index statistics.

Example Response

{ "total_pages": 56548, "indexed_pages": 56548, "total_keywords": 839998, "total_topics": 56538, "avg_domain_authority": 9.27, "high_authority_pages": 12785 }
GET /stats/topics

Get top topics from indexed content.

GET /stats/trending

Get trending keywords across all indexed pages.

GET /stats/crawler

Get crawler health and statistics.

đŸ› ī¸ Code Examples

JavaScript (Fetch)

const response = await fetch('https://api.404nerds.com/search?q=unity'); const data = await response.json(); console.log(data.results);

Python (Requests)

import requests response = requests.get('https://api.404nerds.com/search', params={'q': 'unreal engine', 'limit': 10}) data = response.json() print(data['results'])

curl

curl -X GET "https://api.404nerds.com/search?q=gamedev&limit=20" \ -H "Content-Type: application/json"

📝 Response Format

All API responses follow this format:

{ "query": "search term", // Your search query (if applicable) "count": 25, // Number of results returned "results": [ ... ] // Array of result objects }

âš ī¸ Error Handling

API errors return standard HTTP status codes:

Status Code Meaning
200 Success
400 Bad Request (invalid parameters)
404 Endpoint not found
500 Internal Server Error

💡 Tips & Best Practices

✅ Use URL encoding for query parameters

✅ Cache responses when possible to reduce server load

✅ No API key required - completely free and open

✅ CORS enabled for browser-based applications

âš ī¸ Be respectful - don't hammer the API with excessive requests

Questions? Found a bug? Contact us