Sign in to see your review history
fama volat
Sign in to see scores for people you follow
Public, read-only API for Nostr review data. No authentication required. All reviews are cryptographically signed, validated, and spam-filtered.
https://api.pubscore.space
Public
fetch('https://api.pubscore.space/score?npub=npub1...')
.then(r => r.json())
.then(data => {
console.log(data.avgRating) // 4.3
console.log(data.count) // 17
console.log(data.votes) // { trusted: 14, neutral: 2, avoid: 1 }
})
const npubs = ['npub1abc...', 'npub1def...']
const url = `https://api.pubscore.space/scores?npubs=${npubs.join(',')}`
const { scores } = await fetch(url).then(r => r.json())
// scores['npub1abc...'] = { avgRating: 4.3, count: 17 }
const { reviews, avgRating, count } = await fetch(
'https://api.pubscore.space/reviews?npub=npub1...'
).then(r => r.json())
reviews.forEach(r => {
console.log(r.reviewer, r.rating, r.content) // rating is 'trusted', 'neutral', or 'avoid'
})
// Get new reviews since last check
const since = Math.floor(Date.now() / 1000) - 3600 // last hour
const { reviews } = await fetch(
`https://api.pubscore.space/reviews/recent?npub=npub1...&since=${since}`
).then(r => r.json())
reviews.forEach(r => {
console.log(r.reviewer, r.rating, r.created_at) // rating is 'trusted', 'neutral', or 'avoid'
})
Every review stored in the API has passed these checks:
✓ Valid Nostr event signature
✓ Reviewer has ≥30 followers
✓ Rating is trusted, neutral, or avoid
✓ No self-reviews
✓ One review per reviewer per profile
✓ Max 50 reviews per reviewer per day
120 requests per minute per IP. No authentication needed.
Open to all origins. Use it from any frontend, app, or script.
The API is open source. View on GitHub →
Connect your Nostr identity to leave reviews.
Just want to browse?