Search for a command to run...
Access vercel.land's data programmatically with our REST API. Discover repositories, search content, and build amazing integrations.
https://vercel.land/apiAll responses are in JSON format
Session-based auth via NextAuth
Use NextAuth session authentication. Sign in via GitHub OAuth at /auth/signin. Cookies are automatically managed by the browser.
API key authentication is not yet available. Contact support for programmatic access.
# Example authenticated request
curl https://vercel.land/api/favorites \
--cookie "session=your-session-cookie"
No authentication required
/api/repositoriesGet all repositories with optional filtering
categorystringFilter by category
searchstringSearch repositories
limitnumberNumber of results (default: 50)
{ repositories: [{ id, name, description, stars, ... }] }/api/repositories/latestGet the most recently added repositories
limitnumberNumber of results (default: 10)
{ repositories: [...] }/api/repositories/[owner]/[name]Get detailed information about a specific repository
{ repository: { id, name, fullName, description, stars, ... } }/api/repositories/[owner]/[name]/readmeGet the README content for a repository
{ content: "markdown content", html: "rendered html" }/api/repositories/[owner]/[name]/contributorsGet contributors for a repository
{ contributors: [{ login, avatarUrl, contributions, ... }] }/api/repositories/[owner]/[name]/languagesGet programming languages used in a repository
{ languages: { "JavaScript": 12345, "TypeScript": 6789 } }/api/repositories/[owner]/[name]/releasesGet releases for a repository
{ releases: [{ tagName, name, publishedAt, ... }] }/api/categoriesGet all categories with repository counts
{ categories: [{ id, name, slug, description, repositoryCount, ... }] }/api/tagsGet all tags with usage counts
{ tags: [{ id, name, slug, usageCount, ... }] }/api/tags/repositoryGet tags for a specific repository
repositoryIdnumberRepository ID
{ tags: [...] }/api/searchSearch repositories, users, and collections
qstringSearch query
typestringSearch type: 'all', 'repos', 'users'
{ repositories: [...], users: [...] }/api/trendingGet trending repositories
timeframestringtoday, week, month, year (default: week)
categorystringtrending, rising, mostForked
limitnumberNumber of results (default: 20)
{ repositories: [...], stats: { ... } }/api/blogGet published blog posts
limitnumberNumber of posts (default: 10)
categorystringFilter by category
{ posts: [{ id, title, slug, excerpt, publishedAt, ... }] }/api/blog/[slug]Get a specific blog post by slug
{ post: { id, title, content, author, ... } }/api/community/collectionsGet all public collections
searchstringSearch collections
sortstringrecent or popular
{ collections: [...], stats: { ... } }/api/users/[username]Get public user profile
{ user: { id, name, githubUsername, bio, ... }, collections: [...], favorites: [...] }/api/users/[username]/collections/[slug]Get a specific public collection
{ collection: { id, name, description, ... }, items: [...] }/api/analytics/statsGet public platform statistics
{ totalRepos, totalUsers, totalCollections, totalViews }/api/sponsors/activeGet active sponsor/toast ads
{ ads: [{ name, description, url, ... }] }/api/adsGet active ad campaigns for a specific placement
placementstringsidebar, header, footer, etc.
pagestringCurrent page path
{ ads: [...] }Public endpoints: 100 requests per 15 minutes per IP
Authenticated endpoints: 1000 requests per hour per user
Rate limit headers are included in all responses: