API (beta)

Blog Search provides a simple API to access search results. No authentication required for now. If you're actually using this API, I would love to know. Please leave a comment here.

Search words must all match. Double quotes require a phrase, and site:example.com includes that host and its subdomains. Multiple site filters match any listed host. Queries are limited to 512 characters and 64 words, with up to 8 site filters.

Results contain 6 posts per page, with at most 100 pages. total is the full matching count; results_limited indicates more matches than can be paged through. Narrow the query to see more specific results.

Requests share a per-IP limit of 60 per minute with a burst of 20. On HTTP 429 or 503, respect the Retry-After header. Invalid queries/pages return HTTP 400 or 422.

Search Endpoint

GET /api/search?q={query}&page={page}

Response

{
  "results": [
    {
      "url": "https://example.com/blog-post",
      "title": "Example Blog Post",
      "date": "2024-01-15",
      "text": "Post content snippet..."
    }
  ],
  "total": 42,
  "page": 1,
  "total_pages": 7,
  "results_limited": false
}

Example

# Python
import requests

r = requests.get(
    "https://blogsearch.io/api/search",
    params={"q": "your search query"}
)
results = r.json()["results"]