Public API
Public portfolio endpoints for profile, projects, content, contact, and statistics.
API Overview
Use these endpoints to read public portfolio data from external sites, dashboards, experiments, or small integrations. Authentication is optional by default and becomes required only when the server is configured with PUBLIC_API_KEY.
Base URL
https://www.badryansahbangsawan.my.idFormat
JSONRate Limit
120 / 10 min/api/portfolio?locale=en | ?locale=idFull Portfolio
Returns all safe public sections in one response: home, profile, about, achievements, projects, contents, contact, and dashboard.
/api/home?locale=en | ?locale=idHome
Returns localized introduction copy, location, resume summary, and active skills.
/api/profile?locale=en | ?locale=idProfile
Returns public profile details, localized story paragraphs, active skills, social links, career entries, and education entries.
/api/about?locale=en | ?locale=idAbout
Returns localized story blocks, career entries, and education entries.
/api/contentsContents
Returns local MDX content files with front matter and compiled content.
/api/projectsProjects
Returns the public project collection used by the portfolio. The response stays array-compatible with the website.
/api/contact?locale=en | ?locale=idContact
Returns localized contact metadata and public social links.
/api/dashboardDashboard
Returns the same public data as stats for dashboard integrations.
/api/statsStats
Returns portfolio counts plus integration summaries for GitHub, Monkeytype, and Spotify when those services are available.
