Recent Entries Leaderboard
Get the most recently published entries across all feeds on the platform.
GET
/v1/leaderboards/recent-entriesOverview
Retrieve the most recently published entries across all active feeds. Useful for displaying platform-wide activity and discovering new content.
Authentication
Required: No
Payment: No
Public endpoint - no authentication needed.
Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page_size | number | No | Number of results per page (default: 20, max: 100) |
page_token | string | No | Pagination token for next page |
Response
Status: 200 OK
{
"data": [
{
"id": "string",
"feed_id": "string",
"title": "string",
"description": "string",
"mime_type": "string",
"tags": ["string"],
"price": "string",
"is_free": boolean,
"cid": "string",
"created_at": number,
"updated_at": number,
"feed": {
"id": "string",
"name": "string",
"description": "string",
"wallet_id": "string"
}
}
],
"pagination": {
"page_size": number,
"next_page_token": "string",
"has_more": boolean
}
}Response Fields
Entry Object
| Field | Type | Description |
|---|---|---|
id | string | Unique entry identifier |
feed_id | string | Feed containing this entry |
title | string | Entry title |
description | string | Entry description |
mime_type | string | Content MIME type |
tags | string[] | Content tags |
price | string | Entry price in wei (0 for free) |
is_free | boolean | Whether entry is free to access |
cid | string | IPFS content identifier |
created_at | number | Creation timestamp |
updated_at | number | Last update timestamp |
Embedded Feed Object
| Field | Type | Description |
|---|---|---|
id | string | Feed identifier |
name | string | Feed name |
description | string | Feed description |
wallet_id | string | Feed owner wallet ID |
Pagination Object
| Field | Type | Description |
|---|---|---|
page_size | number | Number of results in current page |
next_page_token | string | Token for fetching next page (null if last page) |
has_more | boolean | Whether more results are available |
Usage Examples
cURL
# Get latest entries
curl "https://api.grapevine.fyi/v1/leaderboards/recent-entries"
# Get more entries per page
curl "https://api.grapevine.fyi/v1/leaderboards/recent-entries?page_size=50"
# Get next page
curl "https://api.grapevine.fyi/v1/leaderboards/recent-entries?page_token=eyJ..."Example Response
{
"data": [
{
"id": "entry_123e4567-e89b-12d3-a456-426614174000",
"feed_id": "feed_456e7890-e89b-12d3-a456-426614174111",
"title": "Getting Started with Web3 Development",
"description": "A comprehensive guide to building decentralized applications",
"mime_type": "text/markdown",
"tags": ["web3", "development", "tutorial"],
"price": "1200000000000000000",
"is_free": false,
"cid": "QmX5ZQMYjKj7J8rZhG2v6KpF3mN9wQ8tL4sA7bE1cD9fR2",
"created_at": 1704067200,
"updated_at": 1704067200,
"feed": {
"id": "feed_456e7890-e89b-12d3-a456-426614174111",
"name": "Web3 Developer Hub",
"description": "Learn to build the decentralized web",
"wallet_id": "wallet_789a0123-e89b-12d3-a456-426614174222"
}
},
{
"id": "entry_789a0123-e89b-12d3-a456-426614174333",
"feed_id": "feed_012b3456-e89b-12d3-a456-426614174444",
"title": "Daily Market Analysis - December 30, 2024",
"description": "Technical analysis of major cryptocurrency trends",
"mime_type": "application/json",
"tags": ["analysis", "crypto", "trading"],
"price": "0",
"is_free": true,
"cid": "QmY6AQNYjKk8K9sAiH3w7LqG4oO0xR9uM5tB8cF2dE0gS3",
"created_at": 1704066000,
"updated_at": 1704066000,
"feed": {
"id": "feed_012b3456-e89b-12d3-a456-426614174444",
"name": "Crypto Analytics Daily",
"description": "Daily cryptocurrency market insights",
"wallet_id": "wallet_345c6789-e89b-12d3-a456-426614174555"
}
}
],
"pagination": {
"page_size": 20,
"next_page_token": "eyJjdXJzb3IiOiIyMDI0LTEyLTMwVDEwOjMwOjAwWiIsImlkIjoiZW50cnlfNzg5YTAxMjMifQ",
"has_more": true
}
}Use Cases
1. Content Discovery
Display recently published content for users to discover.
2. Activity Feed
Show platform-wide activity in real-time feeds.
3. Homepage Content
Populate homepage with latest content across all feeds.
4. Content Curation
Identify trending and fresh content for curation.
5. Analytics Dashboard
Track content publishing velocity and patterns.
Content Types
Entries can include various content types:
- Text Content:
text/plain,text/markdown,text/html - Structured Data:
application/json,application/xml - Media:
image/jpeg,image/png,image/svg+xml - Documents:
application/pdf,text/csv - Code:
text/javascript,application/x-python-code
Filtering by Content
Free Content Only
const freeEntries = recentEntries.filter(entry => entry.is_free);
console.log(`${freeEntries.length} free entries available`);By Content Type
const markdownEntries = recentEntries.filter(
entry => entry.mime_type === 'text/markdown'
);By Tags
const tutorialEntries = recentEntries.filter(
entry => entry.tags.includes('tutorial')
);Performance Notes
- Ordering: Entries ordered by creation timestamp (newest first)
- Caching: Results cached for 5 minutes for optimal performance
- Real-time: New entries appear within 1-2 minutes of publication
- Rate Limits: Standard rate limits apply
Error Responses
400 Bad Request
{
"error": "Invalid page size",
"code": "INVALID_PARAMETER",
"details": "page_size must be between 1 and 100"
}422 Unprocessable Entity
{
"error": "Invalid page token",
"code": "INVALID_PAGE_TOKEN"
}Related Endpoints
- List Feeds - Browse all feeds
- Get Entry - Access specific entry content
- List Feeds - Browse feeds by activity
- List Entries - Browse entries by feed
SDK Usage
// The SDK doesn't expose leaderboards directly
// Use the client utilities for leaderboard data:
import { GrapevineClient } from '@pinata/grapevine-sdk';
const grapevine = new GrapevineClient({
privateKey: process.env.PRIVATE_KEY
});
const response = await grapevine.client.get('/leaderboards/recent-entries');
const recentEntries = response.data;
console.log('Recent platform activity:');
recentEntries.data.forEach(entry => {
console.log(`• ${entry.title} (${entry.feed.name})`);
});External Playground
Try this endpoint interactively in Swagger UI:
https://api.grapevine.fyi/v1/docs