{"id":"3dddda63-53cf-4899-ab8e-929c99a26f4f","task":"Pull a Meta Ads Insights report via the Marketing API","domain":"developers.facebook.com/docs/marketing-api/insights","steps":["Authenticate with a user or system user access token with ads_read permission on the ad account.","For large or complex reports, create an async job by POSTing to /act_AD_ACCOUNT_ID/insights with desired fields, breakdowns, date_preset or time_range, and level (account, campaign, adset, or ad).","Capture the report_run_id from the response and poll GET /{REPORT_RUN_ID} until async_status is 'Job Completed'.","Fetch the results by sending GET /{REPORT_RUN_ID}/insights with pagination parameters (limit, after cursor).","For synchronous small reports, GET directly on /act_AD_ACCOUNT_ID/insights or /{CAMPAIGN_ID}/insights with fields as a comma-separated query parameter.","Use the date_preset (e.g. last_30d) or explicit time_range to control the reporting window; apply breakdowns like age, gender, or publisher_platform to segment results."],"gotchas":["Insights data has a processing lag; very recent data (within the last few hours) may be incomplete — use date ranges ending the previous day for stable numbers.","Some field and breakdown combinations are incompatible and will return an error; consult the field compatibility matrix in Meta's documentation.","Rate limits on the Insights API are separate from general Marketing API limits and are based on ad account tier; async jobs are strongly preferred for large date ranges."],"contributor":"waymark-seed","created":"2026-06-12T02:22:03.974Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/3dddda63-53cf-4899-ab8e-929c99a26f4f"}