PeerPush API
Free REST API for product discovery. Search products, find alternatives, compare tools, and access structured data on pricing, platforms, use cases, and audiences.
Open Interactive API ExplorerQuick start
Try these examples right now — no setup needed.
Search products
Try itcurl "https://peerpush.com/api/v1/products?query=email+api&limit=3"Find alternatives
Try itcurl "https://peerpush.com/api/v1/products/notion/alternatives?limit=5"Compare products
Try itcurl "https://peerpush.com/api/v1/compare?products=vercel,netlify"Trending this week
Try itcurl "https://peerpush.com/api/v1/trending?period=week&limit=5"Endpoints
All endpoints accept GET requests and return JSON.
| Endpoint |
|---|
GET /api/v1/productsSearch and filter products |
GET /api/v1/products/:slugGet full product details |
GET /api/v1/products/:slug/alternativesFind alternatives to a product |
GET /api/v1/compareCompare products side by side |
GET /api/v1/trendingGet trending products |
GET /api/v1/discoverDiscover products by criteria |
GET /api/v1/dealsProducts with active discounts |
GET /api/v1/launchesRecently launched products |
GET /api/v1/awardsAward-winning products |
GET /api/v1/categoriesList all categories |
GET /api/v1/use-casesList all use cases |
GET /api/v1/audiencesList all audiences |
Response shape
All product endpoints return data in this structure.
{
"data": {
"id": "...",
"slug": "example-product",
"name": "Example Product",
"tagline": "A great tool for developers",
"description": "...",
"websiteUrl": "https://example.com",
"peerpushUrl": "https://peerpush.com/p/example-product",
"logoUrl": "https://...",
"pricing": {
"type": "Freemium",
"startingPrice": 9.99
},
"platforms": ["Web", "Api", "Cli"],
"useCases": ["Code Development", "CI/CD"],
"audiences": ["Developers", "Startups"],
"categories": ["Developer Tools"],
"community": {
"upvotes": 142,
"followers": 38,
"comments": 24,
"rating": {
"average": 4.6,
"count": 23,
"weighted": 4.42
},
"peerPushScore": 56.5,
"totalScore": 268
},
"badges": {
"current": "Trending",
"productOfTheDay": null,
"productOfTheWeek": "2025-03-15T00: 00: 00.000Z",
"productOfTheMonth": null
},
"social": {
"twitterUsername": "example",
"linkedinUrl": null
},
"publishedAt": "2025-02-01T12: 00: 00.000Z",
"lastUpdatedAt": "2025-03-20T08: 30: 00.000Z",
"uptime": {
"status": "Online",
"checkedAt": "2025-03-20T03: 00: 00.000Z"
},
"activeDeals": [
{
"title": "Spring sale",
"percentOff": 25,
"validUntil": "2025-04-30T23: 59: 59.000Z"
}
]
}
}Field reference
| Field | Description |
|---|---|
id | Stable internal identifier. |
slug | URL-safe slug, also used in /p/:slug and as the path param for product endpoints. |
name | Product name. |
tagline | Short one-line description. |
description | Long description. |
websiteUrl | External product URL. Carries PeerPush UTM tags. |
peerpushUrl | Canonical product page on peerpush.com. |
logoUrl | CDN URL of the product logo. |
pricing.type | One of: Free, Freemium, Subscription, OneTime, Paid. |
pricing.startingPrice | Starting price in USD, when applicable. |
platforms | Subset of: Web, Mobile, Api, Desktop, Mcp, Cli. |
useCases | Controlled-vocabulary use case labels (max 3). |
audiences | Controlled-vocabulary audience labels (max 3). |
categories | Category labels. |
community.upvotes | Total upvotes. |
community.followers | Followers count. |
community.comments | Visible comment count. |
community.rating | null when there are no public ratings; otherwise { average, count, weighted } where weighted is a Bayesian-smoothed score for ranking. |
community.peerPushScore | PeerPush engagement points. |
community.totalScore | Composite ranking score used internally to sort feeds. |
badges.current | One of: Live, Trending, ProductOfTheDay, ProductOfTheWeek, ProductOfTheMonth. |
badges.productOfTheDay | When the product won Product of the Day, if ever. |
badges.productOfTheWeek | When the product won Product of the Week, if ever. |
badges.productOfTheMonth | When the product won Product of the Month, if ever. |
social.twitterUsername | Twitter / X handle without @. |
social.linkedinUrl | LinkedIn company page URL. |
publishedAt | When the product was first published on PeerPush. |
lastUpdatedAt | When the owner last posted a product update. |
uptime.status | Result of the most recent uptime probes. One of: Online (all recent probes succeeded), Degraded (mixed results), Offline (all recent probes failed), Unknown (no probes recorded yet). |
uptime.checkedAt | When the status was last recomputed. |
activeDeals[] | Currently-valid discount codes: { title, percentOff (0-100), validUntil (ISO date) }. |
Rate limits
The API allows 5,000 requests per hour per IP address. Every response includes rate limit headers:
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 5000
X-RateLimit-Reset: 1711929600Need higher usage limits or new API endpoints? Contact us at [email protected]
Prefer AI-native access?
Connect your AI assistant directly to PeerPush via MCP. Your assistant will automatically use PeerPush when you ask about software products.