Cyril Joudieh
Cyril Joudieh

Reputation: 124

Facebook Post Insights Metrics Download via API

I wish to download all 30 post insight metrics on a Facebook page which averages 144 posts per month. Knowing that Facebook applies certain limits, what is the best way to download these posts?

https://graph.facebook.com/$post_id/insights/$metric/$period?since=$since&until=$until&access_token=$token";

post_stories, post_storytellers, post_stories_by_action_type, post_storytellers_by_action_type, post_impressions, post_impressions_unique, post_impressions_paid, post_impressions_paid_unique, post_impressions_fan, post_impressions_fan_unique, post_impressions_fan_paid, post_impressions_fan_paid_unique, post_impressions_organic, post_impressions_organic_unique, post_impressions_viral, post_impressions_viral_unique, post_impressions_by_story_type, post_impressions_by_story_type_unique, post_consumptions, post_consumptions_unique, post_consumptions_by_type, post_consumptions_by_type_unique, post_engaged_users, post_negative_feedback, post_negative_feedback_unique, post_negative_feedback_by_type, post_negative_feedback_by_type_unique.

So far I thought of looping all these 30 metrics around the posts per one day: 30 * n (count of posts) = number of Graph API calls which is too much for Facebook.

Ideally what I wish is the Post Export that Facebook provides in XLS but using Graph or FQL.

Thank you! Cyril

Upvotes: 0

Views: 1459

Answers (2)

Cyril Joudieh
Cyril Joudieh

Reputation: 124

I later used to page/insights and post/insights in Graph/API to download all the insights at once.

Upvotes: 0

Cyril Joudieh
Cyril Joudieh

Reputation: 124

$fql = "SELECT metric, value
        FROM insights
        WHERE
            object_id = '$post_id' AND  (
            metric = 'post_impressions_by_paid_non_paid' OR
            metric = 'post_impressions_by_paid_non_paid_unique' OR
            metric = 'post_stories' OR
            metric = 'post_storytellers' OR
            metric = 'post_stories_by_action_type' OR
            metric = 'post_storytellers_by_action_type' OR
            metric = 'post_impressions' OR
            metric = 'post_impressions_unique' OR
            metric = 'post_impressions_paid' OR
            metric = 'post_impressions_paid_unique' OR
            metric = 'post_impressions_fan' OR
            metric = 'post_impressions_fan_unique' OR
            metric = 'post_impressions_fan_paid' OR
            metric = 'post_impressions_fan_paid_unique' OR
            metric = 'post_impressions_organic' OR
            metric = 'post_impressions_organic_unique' OR
            metric = 'post_impressions_viral' OR
            metric = 'post_impressions_viral_unique' OR
            metric = 'post_impressions_by_story_type' OR
            metric = 'post_impressions_by_story_type_unique' OR
            metric = 'post_consumptions' OR
            metric = 'post_consumptions_unique' OR
            metric = 'post_consumptions_by_type' OR
            metric = 'post_consumptions_by_type_unique' OR
            metric = 'post_engaged_users' OR
            metric = 'post_negative_feedback' OR
            metric = 'post_negative_feedback_unique' OR
            metric = 'post_negative_feedback_by_type' OR
            metric = 'post_negative_feedback_by_type_unique') AND
            period=period('lifetime')
            ";

Upvotes: 1

Related Questions