Featured Posts
GET
/api/v1/content/posts/featuredOverview
Returns a list of published posts that have been marked as featured. Useful for hero sections, homepage highlights, and sidebar widgets.
Authentication
info
No authentication required - Client is resolved from the X-Content-Domain header, which the Cloudflare Worker sets automatically based on the request domain.
Headers
| Header | Type | Required | Description |
|---|---|---|---|
X-Content-Domain | string | Yes | The domain used to resolve the client tenant. Automatically set by the CF Worker; set manually for external frontend integrations. |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 10 | Maximum number of featured posts to return |
Response
The response shape is the same as the List Posts endpoint. Each post object includes id, slug, title, excerpt, cover_image_url, status, published_at, author_name, author_id, author, reading_time, view_count, is_featured, and tags.
postsarrayArray of featured post objects (same shape as List Posts)
totalintegerTotal number of featured posts
pageintegerCurrent page (always 1)
page_sizeintegerSame as the limit parameter
Example Request
- cURL
- Python
- JavaScript
curl -s "https://spideriq.ai/api/v1/content/posts/featured?limit=5" \
-H "X-Content-Domain: your-domain.com"
import requests
resp = requests.get(
"https://spideriq.ai/api/v1/content/posts/featured",
params={"limit": 5},
headers={"X-Content-Domain": "your-domain.com"}
)
data = resp.json()
for post in data["posts"]:
print(f"[Featured] {post['title']}")
const resp = await fetch(
"https://spideriq.ai/api/v1/content/posts/featured?limit=5",
{ headers: { "X-Content-Domain": "your-domain.com" } }
);
const data = await resp.json();
data.posts.forEach(post => {
console.log(`[Featured] ${post.title}`);
});
Example Response
{
"posts": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"slug": "how-to-scrape-google-maps",
"title": "How to Scrape Google Maps at Scale",
"excerpt": "A step-by-step guide to extracting business data from Google Maps.",
"cover_image_url": "https://cdn.spideriq.ai/blog/maps-guide-cover.webp",
"status": "published",
"published_at": "2026-03-15T09:00:00Z",
"author_name": "Martin Shein",
"author_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"author": {
"id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"full_name": "Martin Shein",
"slug": "martin-shein",
"avatar_url": "https://cdn.spideriq.ai/authors/martin.webp"
},
"reading_time": 8,
"view_count": 1243,
"is_featured": true,
"tags": ["google-maps", "scraping", "seo"]
}
],
"total": 1,
"page": 1,
"page_size": 5
}
Status Codes
| Status Code | Meaning | Description |
|---|---|---|
| 200 | OK | Featured posts returned successfully |