Unable to retrieve friend's birthday data using Facebook Graph API v2.7

I’m trying to fetch birthday information for my friends using the Facebook Graph API version 2.7, but the birthday field is not returning any data. I’ve been using the Graph Explorer tool to test my query, but no matter what I try, the birthday information just doesn’t appear in the response.

Here’s the API endpoint I’m currently using:

/v2.7/me?fields=friends{birth_date}

The API call executes successfully and returns friend data, but the birth_date field is always empty or missing entirely. I’ve checked my app permissions and made sure I have the necessary access tokens, but still no luck. Has anyone encountered this issue before? Am I missing something in my API request structure?

Facebook locked this down hard after Cambridge Analytica in 2018. I ran into the same thing building an internal company app.

The /friends endpoint got gutted. Even with user_birthday permission, each friend has to approve your app individually. Nobody does that.

We ended up scraping public birthday info from workplace directories and built our own database. For external apps, you’re stuck asking users to manually input birthdays.

Graph API v2.7 is ancient, but it doesn’t matter - Facebook killed friend data access across all versions. Your code’s fine, but you’re hitting a policy wall.

If you want to understand why companies are obsessed with birthday data, this video breaks it down:

Pivot to manual entry or find another data source. Facebook isn’t changing this.

This exact issue bit me hard on a social app in 2017. Your API structure isn’t the problem - Facebook changed how friend data works entirely. Here’s what no one tells you: even with user_friends permission, you only see friends who ALSO use your app. Got 10 users? You’ll see maybe 2-3 birthdays max. For birthdays specifically, you need user_birthday permission AND the friend’s birthday must be public AND they must use your app. It’s a triple lock designed to fail. I wasted weeks debugging before realizing Facebook built it this way on purpose. Skip the headache - just build a manual birthday collection system instead.

Facebook’s API restrictions are brutal, but here’s what I learned after dealing with similar data collection headaches at work.

Don’t fight Facebook’s privacy maze - flip the problem. Build a system where users actually want to share their birthdays with you.

Create a simple onboarding flow that asks for birthdays upfront. Then automate everything - birthday reminders, gift suggestions, team notifications, calendar syncing.

I’ve built this workflow multiple times. Connect your signup form to a database, set up automated birthday triggers, link everything to your notification systems. No API limits, no permission battles, no empty responses.

The data you collect yourself beats whatever Facebook might give you. Plus, you can add custom fields like gift preferences or celebration styles that Facebook never had.

Users prefer this because they control what they share instead of worrying about app permissions digging through their social data.

Latenode makes this workflow stupid simple - form submission triggers database updates, date comparisons fire notifications, everything connects without writing integration code.

Yeah, this is because of Facebook’s privacy policy changes that rolled out around then. Even with proper permissions, the Graph API stopped returning friends’ birthday data for most apps due to stricter privacy controls. Facebook locked down access to friends’ personal info like birthdays - only very specific app categories like games can get it, and only when friends explicitly allow data sharing with each other. They also deprecated the friends endpoint in later API versions. You could check if your app qualifies for extended permissions, but for most standard apps, this data just isn’t available anymore through the API - doesn’t matter how you structure your request or set up authentication.

Hit this same problem a few years ago building a birthday reminder for our team app. Facebook’s API is a nightmare, but there’s a better approach.

Skip Facebook entirely. Build a simple form where people add their own birthdays, then automate everything from there.

Set it to auto-send notifications, create calendar events, and trigger personalized messages. No API fights, no privacy policy mess, and you get reliable data instead of hoping Facebook plays nice.

I use Latenode for this stuff - it connects forms, databases, notifications, and calendars without the API headache. Takes 30 minutes instead of weeks debugging Facebook’s restrictions.

Best part? You control the data and process. No more worrying about API changes breaking everything.

Hit this exact problem migrating an old app from v2.0 to v2.7 back in 2017. Birthday field worked great in earlier versions, then just died. Facebook didn’t even throw errors - requests would succeed but return empty arrays. I spent days thinking it was my tokens or query syntax. Turns out Facebook added ‘reciprocal authorization’ for friend data. You need both users to authorize your app AND the birthday owner has to share with apps in their privacy settings AND you need explicit user_birthday permission. Even with all that, success rates are like 5-10% because most people keep birthdays private. Facebook basically killed this feature without proper warnings. Your syntax looks right - you’re just hitting policy walls, not technical issues.

facebook killed this feature years ago. even with proper permissions, most users set their bdays to private, so you’ll get nothing back. i tried this for a client in 2018 and had to break the bad news. your query looks solid though - it’s just facebook blocking everything.