{
 "title": "Social Media API Report 2026",
 "publisher": "Blotato",
 "checked_on": "2026-10-07",
 "window": [
  "2024-10-01",
  "2026-09-30"
 ],
 "definitions": {
  "breaking": "A previously working call fails, or code must change.",
  "tightening": "Higher price, new gate or lower limit; existing calls keep working.",
  "loosening": "A limit raised or a cost cut.",
  "neutral": "Behavior change, deprecation notice without a deadline, or pilot.",
  "scheduled_sunset": "An API version reaching its published end of life."
 },
 "changes": [
  {
   "id": "instagram-031",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2024-10-08",
   "effective": "2024-10-08",
   "announced_month": null,
   "notice_days": 0,
   "impact": "loosening",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Instagram messaging send rate raised from 100 to 300 calls per second per Instagram professional account for text/link/reaction/sticker messages.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "tiktok-092",
   "platform": "tiktok",
   "platform_name": "TikTok",
   "announced": "2024-10-08",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Login Kit for Android now requires an HTTPS redirect URI on the authorization request (authentication. Not posting).",
   "notes": "Login Kit for Android now requires an HTTPS redirect URI on the authorization request (authentication; not posting).",
   "date_note": "",
   "source_url": "https://developers.tiktok.com/doc/changelog",
   "sources": [
    "https://developers.tiktok.com/doc/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-058",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2024-10-09",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Quote posts and reposts can be published through the Threads API.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-053",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2024-10-11",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Hash-plus-number text such as #1 no longer becomes a tag, and the list of unsupported tag characters changed.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-081",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-10-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202310 sunset date: October 15, 2024.",
   "notes": "Marketing API version 202310 sunset date: October 15, 2024 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the July 2024 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "tiktok-091",
   "platform": "tiktok",
   "platform_name": "TikTok",
   "announced": "2024-10-22",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Developer Portal added an app review section requiring extra information for app submission (plus app-icon specs).",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.tiktok.com/doc/changelog",
   "sources": [
    "https://developers.tiktok.com/doc/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-018",
   "platform": "x",
   "platform_name": "X",
   "announced": "2024-10-23",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "X announced Self Serve API changes: Basic monthly price rises from $100 to $200. New annual plans (Basic $2,100, Pro $54,000). Basic monthly Post cap 15,000 (up from 10,000). Free tier can post 500 Posts and read 100 Posts per month. Basic and Pro top-ups limited to 2.",
   "notes": "X announced Self Serve API changes: Basic monthly price rises from $100 to $200; new annual plans (Basic $2,100, Pro $54,000); Basic monthly Post cap 15,000 (up from 10,000); Free tier can post 500 Posts and read 100 Posts per month; Basic and Pro top-ups limited to 2. The post gives no effective date.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/227668",
   "sources": [
    "https://devcommunity.x.com/t/227668"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-100",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2024-10-30",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "status.containsSyntheticMedia can be set on videos.insert/update to flag realistic altered or synthetic content.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-080",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-11-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202311 sunset date: November 15, 2024.",
   "notes": "Marketing API version 202311 sunset date: November 15, 2024 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the August 2024 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-102",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2024-11-15",
   "effective": "2024-11-18",
   "announced_month": null,
   "notice_days": 3,
   "impact": "breaking",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "YouTube Analytics API: Traffic Source report queries now return an error when the number of queried videos times the number of days in the date range exceeds 50,000 (effective November 18, 2024).",
   "notes": "YouTube Analytics API: Traffic Source report queries now return an error when the number of queried videos times the number of days in the date range exceeds 50,000 (effective November 18, 2024). Applies to channel and content owner reports.",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/analytics/revision_history",
   "sources": [
    "https://developers.google.com/youtube/analytics/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-037",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2024-11-20",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v15.0 reaches end of life.",
   "notes": "Graph API v15.0 reaches end of life ('Available Until' column of the changelog version table; quote is the table row, cells joined by spaces).",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-022",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2024-09-04",
   "effective": "2024-12-04",
   "announced_month": null,
   "notice_days": 91,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Instagram Basic Display API (used to connect Instagram accounts to third-party consumer apps) shut down. All requests fail.",
   "notes": "Instagram Basic Display API (used to connect Instagram accounts to third-party consumer apps) shut down; all requests fail. Business use cases are pointed at the Instagram API with Facebook or Instagram Login; consumer apps get no replacement.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/",
   "sources": [
    "https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-079",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-12-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "The Migration Status table lists a December 16, 2024 sunset for 'Developers using LinkedIn Marketing APIs unversioned'. The versioning page says every call must specify a version via the Linkedin-Version header on the /rest base path.",
   "notes": "The Migration Status table lists a December 16, 2024 sunset for 'Developers using LinkedIn Marketing APIs unversioned'; the versioning page says every call must specify a version via the Linkedin-Version header on the /rest base path.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-082",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-12-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202307 sunset date: December 16, 2024.",
   "notes": "Marketing API version 202307 sunset date: December 16, 2024 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the April 2024 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-083",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-12-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202306 sunset date: December 16, 2024.",
   "notes": "Marketing API version 202306 sunset date: December 16, 2024 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the March 2024 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-084",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2024-12-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Version 202312 sunset 2024-12-16 per the release-note Version Sunset lists. The Migration Status table has no 202312 row.",
   "notes": "Version 202312 sunset 2024-12-16 per the release-note Version Sunset lists; the Migration Status table has no 202312 row (see conflicts).",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-103",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2024-04-07",
   "effective": "2024-12-31",
   "announced_month": null,
   "notice_days": 268,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "YouTube Analytics API: the isCurated dimension stopped being supported for content owner playlist reports on December 31, 2024. Apps had to drop it and read playlistViews instead of views for playlist reports.",
   "notes": "YouTube Analytics API: the isCurated dimension stopped being supported for content owner playlist reports on December 31, 2024; apps had to drop it and read playlistViews instead of views for playlist reports.",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/analytics/revision_history",
   "sources": [
    "https://developers.google.com/youtube/analytics/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-024",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2024-10-02",
   "effective": "2025-01-08",
   "announced_month": null,
   "notice_days": 98,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Media insights metric video_views removed on all versions.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-025",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2024-10-02",
   "effective": "2025-01-08",
   "announced_month": null,
   "notice_days": 98,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "User insights time-series metrics email_contacts, get_direction_clicks, profile_views, text_message_clicks, website_clicks, phone_call_clicks removed on all versions.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-111",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2025-01-17",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": true,
   "summary": "Pinterest stopped including real-time metrics and paid-campaign metrics in List Pins on board (boards/list_pins). It now returns historical metrics for organic Pins, consistent with List Pins and Get Pin.",
   "notes": "Pinterest stopped including real-time metrics and paid-campaign metrics in List Pins on board (boards/list_pins); it now returns historical metrics for organic Pins, consistent with List Pins and Get Pin.",
   "date_note": "Entry dated January 17, 2025, written in the present tense ('We no longer include'); no prior notice found. Published as: announced after the fact (past/present tense, no earlier notice found in the changelog); exact effective date not stated.",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-045",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": "2025-01-21",
   "effective": "2025-01-21",
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": true,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Page recommendations / ratings removed on v22.0+: reads return error code 12 and Page ratings webhooks stop.",
   "notes": "Page recommendations / ratings removed on v22.0+: reads return error code 12 and Page ratings webhooks stop. Effective date shown is the v22.0 release; behavior on older versions is not stated.",
   "date_note": "Applies from Graph API v22.0 (released 2025-01-21); older versions unaffected until they sunset, so no notice period is computed.",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/version22.0",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/version22.0"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-078",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-01-22",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202401 sunset date: January 22, 2025.",
   "notes": "Marketing API version 202401 sunset date: January 22, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the November 2024 release notes. That listing gave Jan 15, 2025; the January 2025 release notes and the table give January 22, 2025.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-023",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2024-09-17",
   "effective": "2025-01-27",
   "announced_month": null,
   "notice_days": 132,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Instagram Login scope values renamed (business_basic -> instagram_business_basic, business_content_publish -> instagram_business_content_publish, etc.). Old values stop working, so apps cannot call Instagram endpoints until updated.",
   "notes": "Instagram Login scope values renamed (business_basic -> instagram_business_basic, business_content_publish -> instagram_business_content_publish, etc.); old values stop working, so apps cannot call Instagram endpoints until updated.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-106",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2025-02-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Pinterest deprecated the legacy 365-day refresh token in favour of the 60-day continuous refresh token: announced 2025-02-14. The 2025-09-25 changelog entry says the legacy token is no longer supported and that apps created before September 25, 2025 must set continuous_refresh=true.",
   "notes": "Pinterest deprecated the legacy 365-day refresh token in favour of the 60-day continuous refresh token: announced 2025-02-14; the 2025-09-25 changelog entry says the legacy token is no longer supported and that apps created before September 25, 2025 must set continuous_refresh=true.",
   "date_note": "Announced in the 2025-02-14 'Ramp-up for deprecating legacy refresh token' entry (planned date printed as both 'May 25, 2014' and 'May 14'); the 2025-09-25 'Deprecation of legacy refresh token' entry states it is no longer supported. Effective day not stated; it is on or before 2025-09-25.",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-109",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2025-02-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "behavior_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": true,
   "summary": "Pinterest removed the refresh_on parameter from the refresh_token grant, so refreshing now always returns a continuous (60-day) refresh token. A continuous_refresh parameter was added to the authorization_code grant.",
   "notes": "Pinterest removed the refresh_on parameter from the refresh_token grant, so refreshing now always returns a continuous (60-day) refresh token; a continuous_refresh parameter was added to the authorization_code grant.",
   "date_note": "Same entry as the legacy-token ramp-up (February 14, 2025); stated in the past tense ('we have made the following changes'), so effective on or before the entry date. Published as: announced after the fact (past/present tense, no earlier notice found in the changelog); exact effective date not stated.",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-077",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-02-18",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202402 sunset date: February 18, 2025.",
   "notes": "Marketing API version 202402 sunset date: February 18, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the January 2025 release notes. The release notes give Feb 17, 2025; the table gives February 18, 2025 (unreconciled).",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-116",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2025-03-03",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Video upload size limit lifted to 100 MB.",
   "notes": "Video upload size limit lifted to 100 MB (lexicon commit date).",
   "date_note": "",
   "source_url": "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/video.json",
   "sources": [
    "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/video.json"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-054",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-03-06",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Delete posts via the API.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-120",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2025-03-07",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "The atproto team deprecated sending API requests to the bsky.social domain instead of the user's own PDS, saying Bluesky may stop proxying those requests in the near future. It also told clients not to rely on the PDS forwarding app.bsky.* calls by default.",
   "notes": "The atproto team deprecated sending API requests to the bsky.social domain instead of the user's own PDS, saying Bluesky may stop proxying those requests in the near future; it also told clients not to rely on the PDS forwarding app.bsky.* calls by default. No cutoff date was given.",
   "date_note": "",
   "source_url": "https://atproto.com/blog/2025-protocol-roadmap-spring",
   "sources": [
    "https://atproto.com/blog/2025-protocol-roadmap-spring"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-076",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-03-17",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202403 sunset date: March 17, 2025.",
   "notes": "Marketing API version 202403 sunset date: March 17, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the January 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-128",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2025-03-19",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "With the move from Private Messages to Reddit Chat, Reddit said five messaging/blocking API endpoints would stop working 180 days after the 2025-03-19 announcement: /api/uncollapse_message, /api/collapse_message, /api/unread_message, /api/unblock_subreddit, /api/block. /api/block_user is named as the replacement for blocking a user.",
   "notes": "'in 180 days' from 2025-03-19 is about 2025-09-15, derived and not stated, so effective is left null. /api/block has a named successor (/api/block_user), so it is a forced_migration if split out; the other four have none.",
   "date_note": "'in 180 days' from 2025-03-19 is about 2025-09-15, derived and not stated, so effective is left null. /api/block has a named successor (/api/block_user), so it is a forced_migration if split out; the other four have none.",
   "source_url": "https://www.reddit.com/r/modnews/comments/1jf1dy5/",
   "sources": [
    "https://www.reddit.com/r/modnews/comments/1jf1dy5/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-129",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2025-03-19",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Reddit replaced Private Messages with Reddit Chat.",
   "notes": "Reddit replaced Private Messages with Reddit Chat. The PM API endpoints keep working, but they now send and read chat messages; the rollout was in phases from the end of March 2025 over about three months.",
   "date_note": "Timeline per the post: 'Starting at the end of March, we'll roll out these changes in phases over the next three months'. No exact effective day.",
   "source_url": "https://www.reddit.com/r/modnews/comments/1jf1dy5/",
   "sources": [
    "https://www.reddit.com/r/modnews/comments/1jf1dy5/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-096",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2025-03-26",
   "effective": "2025-03-31",
   "announced_month": null,
   "notice_days": 5,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Shorts view counts redefined (counts plays and replays with no minimum watch time). Affects statistics.viewCount returned by the API.",
   "notes": "Shorts view counts redefined (counts plays and replays with no minimum watch time); affects statistics.viewCount returned by the API.",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-075",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-04-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202404 sunset date: April 15, 2025.",
   "notes": "Marketing API version 202404 sunset date: April 15, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the February 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-026",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-01-21",
   "effective": "2025-04-21",
   "announced_month": null,
   "notice_days": 90,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Media and user insights metrics impressions, plays, clips_replays_count and ig_reels_aggregated_all_plays_count removed on all versions (impressions still returns data only for media created on or before 2024-07-01 on older versions).",
   "notes": "Media and user insights metrics impressions, plays, clips_replays_count and ig_reels_aggregated_all_plays_count removed on all versions (impressions still returns data only for media created on or before 2024-07-01 on older versions). The same entry introduces a views metric but does not name it as the replacement.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-019",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-04-30",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Command-style chunked upload on v2 POST /2/media/upload (command=INIT/APPEND/FINALIZE) deprecated in favor of dedicated initialize, append and finalize endpoints. The post says 'within the next 1-2 weeks' and gives no date.",
   "notes": "Command-style chunked upload on v2 POST /2/media/upload (command=INIT/APPEND/FINALIZE) deprecated in favor of dedicated initialize, append and finalize endpoints; the post says 'within the next 1-2 weeks' and gives no date. The current upload-media reference no longer documents the command parameter.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/241818",
   "sources": [
    "https://devcommunity.x.com/t/241818"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-038",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2025-05-14",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v16.0 reaches end of life.",
   "notes": "Graph API v16.0 reaches end of life ('Available Until' column of the changelog version table; quote is the table row, cells joined by spaces).",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-074",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-05-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202405 sunset date: May 15, 2025.",
   "notes": "Marketing API version 202405 sunset date: May 15, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the February 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-027",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-01-21",
   "effective": "2025-05-20",
   "announced_month": null,
   "notice_days": 119,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Instagram v1.0 endpoints exposed through the Marketing/Graph API (including comment read/reply/delete on media) deprecated. Migrate to the Instagram Platform endpoints.",
   "notes": "Instagram v1.0 endpoints exposed through the Marketing/Graph API (including comment read/reply/delete on media) deprecated; migrate to the Instagram Platform endpoints. The all-versions date moved from April 21 to May 20, 2025.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-110",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": null,
   "effective": "2025-05-30",
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Pinterest reorganized business-access permissions for third-party API access: from May 30, the ad account admin role can no longer edit the owner's public boards or access secret boards. The profile publisher role does instead, and existing admins with third-party integrations were assigned it automatically.",
   "notes": "Pinterest reorganized business-access permissions for third-party API access: from May 30, the ad account admin role can no longer edit the owner's public boards or access secret boards; the profile publisher role does instead, and existing admins with third-party integrations were assigned it automatically.",
   "date_note": "Entry has no date heading; it sits under '2025 / May' in the changelog index. Year from the heading.",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-087",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": null,
   "announced_month": "2025-06",
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Member analytics endpoints for Community Management partners: memberCreatorPostAnalytics, memberCreatorVideoAnalytics, memberFollowersCount, with new scopes r_member_profileAnalytics / r_member_postAnalytics (June 2025 / 202506 release).",
   "notes": "",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-013",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-04-30",
   "effective": "2025-06-03",
   "announced_month": null,
   "notice_days": 34,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "DM events: MessageCreate no longer includes participant_ids array.",
   "notes": "",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog",
    "https://devcommunity.x.com/t/241841"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-055",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-06-04",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Text posts can publish in one step with auto_publish_text.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-001",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-02-25",
   "effective": "2025-06-09",
   "announced_month": null,
   "notice_days": 104,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "v1.1 media upload endpoints sunset for self-serve developers (Free, Basic, Pro) on 2025-06-09, forcing a move to the v2 media upload endpoints.",
   "notes": "v1.1 media upload endpoints sunset for self-serve developers (Free, Basic, Pro) on 2025-06-09, forcing a move to the v2 media upload endpoints. First announced 2025-02-25 with a 2025-03-31 date; extended to 2025-04-30 (2025-03-24), to 2025-05-30 (2025-04-30), then to June 9 (241818 last edited 2025-06-04).",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/241818",
   "sources": [
    "https://devcommunity.x.com/t/241818",
    "https://devcommunity.x.com/t/238196"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-118",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2025-06-12",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "OAuth session lifetimes lengthened (public clients to two weeks, confidential refresh tokens to three months, overall session to two years) and a transition:email scope added. Stated as planned rollout.",
   "notes": "OAuth session lifetimes lengthened (public clients to two weeks, confidential refresh tokens to three months, overall session to two years) and a transition:email scope added; stated as planned rollout.",
   "date_note": "",
   "source_url": "https://atproto.com/blog/oauth-improvements",
   "sources": [
    "https://atproto.com/blog/oauth-improvements"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-028",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-06-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Business Login for Instagram: parameters enable_fb_login and force_authentication deprecated. Force_reauth added.",
   "notes": "Business Login for Instagram: parameters enable_fb_login and force_authentication deprecated; force_reauth added. No deadline stated. (enable_fb_login support was re-added 2026-02-06.)",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-073",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-06-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202406 sunset date: June 16, 2025.",
   "notes": "Marketing API version 202406 sunset date: June 16, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the March 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-051",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-06-25",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Keyword search query limit changed. The changelog gives no numbers.",
   "notes": "Keyword search query limit changed; the changelog gives no numbers. The Keyword Search page now says 2,200 queries per user per rolling 24 hours.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-121",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2025-06-30",
   "effective": "2025-06-30",
   "announced_month": null,
   "notice_days": 0,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "OAuth tokens limited to 1 per account (was up to 3), rolling out from 2025-06-30. Existing tokens kept. Exceptions by form.",
   "notes": "OAuth tokens limited to 1 per account (was up to 3), rolling out from 2025-06-30; existing tokens kept; exceptions by form.",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1loeto4/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1loeto4/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-052",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-07-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Deletion and location-search quotas added to the threads_publishing_limit endpoint (now published: 100 deletions and 500 location searches per 24 hours).",
   "notes": "Deletion and location-search quotas added to the threads_publishing_limit endpoint (now published: 100 deletions and 500 location searches per 24 hours). The entry does not say whether enforcement began that day.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-072",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-07-22",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202407 sunset date: July 22, 2025.",
   "notes": "Marketing API version 202407 sunset date: July 22, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the May 2025 release notes. That listing gave Jul 15, 2025; the June and July 2025 release notes and the table give July 22, 2025.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-071",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-08-18",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202408 sunset date: August 18, 2025.",
   "notes": "Marketing API version 202408 sunset date: August 18, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the June 2025 release notes. That listing (and the July 2025 one) gave Aug 15, 2025; the August 2025 release notes and the table give August 18, 2025.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-002",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-08-22",
   "effective": "2025-08-22",
   "announced_month": null,
   "notice_days": 0,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "POST /2/users/:id/likes and POST /2/users/:id/following removed from the Free tier, effective immediately. Paid tiers unaffected at that time.",
   "notes": "POST /2/users/:id/likes and POST /2/users/:id/following removed from the Free tier, effective immediately; paid tiers unaffected at that time.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/247646",
   "sources": [
    "https://devcommunity.x.com/t/247646"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-089",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": null,
   "announced_month": "2025-09",
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Rate limit alert emails at 75% of daily app-level quota (Sept 2025 release).",
   "notes": "",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-108",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2025-09-02",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": true,
   "summary": "Pinterest removed private Pin notes from the API: the notes field was removed from Create Pin, Update Pin, List Pins and Get Pin, with no replacement (only a personal data download).",
   "notes": "Entry dated September 2, 2025 states the removal in the past tense ('You can no longer... We removed'); no earlier notice found in the changelog. Effective is on or before the entry date. Spec cross-check: the note field is present in api-description 5.18.0 (commit 2025-08-14) and gone in 5.20.0 (commit 2025-10-16). Published as: announced after the fact (past/present tense, no earlier notice found in the changelog); exact effective date not stated.",
   "date_note": "Entry dated September 2, 2025 states the removal in the past tense ('You can no longer... We removed'); no earlier notice found in the changelog. Effective is on or before the entry date. Spec cross-check: the note field is present in api-description 5.18.0 (commit 2025-08-14) and gone in 5.20.0 (commit 2025-10-16). Published as: announced after the fact (past/present tense, no earlier notice found in the changelog); exact effective date not stated.",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-039",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2025-09-12",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v17.0 reaches end of life.",
   "notes": "Graph API v17.0 reaches end of life ('Available Until' column of the changelog version table; quote is the table row, cells joined by spaces).",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-070",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-09-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202409 sunset date: September 15, 2025.",
   "notes": "Marketing API version 202409 sunset date: September 15, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the July 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-056",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-09-23",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Threads API opened to profiles with no linked Instagram account.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-014",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-10-03",
   "effective": "2025-10-03",
   "announced_month": null,
   "notice_days": 0,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Post editing via API (POST with edit_options.previous_post_id). Requires X Premium, own Post, within the last hour.",
   "notes": "Post editing via API (POST with edit_options.previous_post_id); requires X Premium, own Post, within the last hour.",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-069",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-10-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202410 sunset date: October 15, 2025.",
   "notes": "Marketing API version 202410 sunset date: October 15, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the August 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-003",
   "platform": "x",
   "platform_name": "X",
   "announced": "2025-10-20",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Closed pilot of pay-per-use pricing announced with initial rates incl. $0.01/Content Create and $0.015/User Interaction.",
   "notes": "",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-029",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-10-23",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Handover Protocol no longer supported for Instagram messaging. All businesses migrated to Conversation Routing (described as backwards compatible with most Handover APIs).",
   "notes": "Handover Protocol no longer supported for Instagram messaging; all businesses migrated to Conversation Routing (described as backwards compatible with most Handover APIs).",
   "date_note": "Changelog entry dated 2025-10-23 reports the change as already done; effective date not stated.",
   "source_url": "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-030",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-10-30",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Instagram post-share webhooks: legacy 'share' attachment removed in favor of 'ig_post' (media ID, URL, title).",
   "notes": "Instagram post-share webhooks: legacy 'share' attachment removed in favor of 'ig_post' (media ID, URL, title). Originally 'supported until February 1, 2026'; the 2026-04-27 entry says removal is rolling out gradually, with opt-out available via developer support.",
   "date_note": "Announced 2025-10-30 with removal scheduled after 2026-02-01; the 2026-04-27 entry reports a gradual rollout with opt-out. No per-app effective date is stated.",
   "source_url": "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-104",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2025-06-24",
   "effective": "2025-10-31",
   "announced_month": null,
   "notice_days": 129,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "YouTube Reporting API (bulk reports): every report that includes views got a new version on June 30, 2025 for the Shorts view-count change. Previous versions were to be deprecated after September 30, 2025, later delayed to October 31, 2025.",
   "notes": "YouTube Reporting API (bulk reports): every report that includes views got a new version on June 30, 2025 for the Shorts view-count change; previous versions were to be deprecated after September 30, 2025, later delayed to October 31, 2025. Apps had to migrate to the new report versions.",
   "date_note": "Original deadline 2025-09-30 (June 24, 2025 entry), moved to 2025-10-31 by the September 22, 2025 entry. Claims reports v1.0/v1.1 kept the 2025-09-30 date. notice_days uses the June 24 announcement and the final October 31 date.",
   "source_url": "https://developers.google.com/youtube/analytics/revision_history",
   "sources": [
    "https://developers.google.com/youtube/analytics/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-122",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2025-11-11",
   "effective": "2025-11-11",
   "announced_month": null,
   "notice_days": 0,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Self-service public Data API access closed. Every new OAuth token/app now needs approval under the new Responsible Builder Policy. Existing access unaffected.",
   "notes": "Self-service public Data API access closed; every new OAuth token/app now needs approval under the new Responsible Builder Policy; existing access unaffected.",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1oug31u/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1oug31u/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-043",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": "2025-08-15",
   "effective": "2025-11-15",
   "announced_month": null,
   "notice_days": 92,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Page Insights API: 'impressions' metrics (replaced by 'views' / page_media_view family) and 'page fans' metrics removed on all API versions. Calls return an invalid-metric error.",
   "notes": "Page Insights API: 'impressions' metrics (replaced by 'views' / page_media_view family) and 'page fans' metrics removed on all API versions; calls return an invalid-metric error.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/blog/post/2025/08/15/page-insights-api-updates/",
   "sources": [
    "https://developers.facebook.com/blog/post/2025/08/15/page-insights-api-updates/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-068",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-11-17",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202411 sunset date: November 17, 2025.",
   "notes": "Marketing API version 202411 sunset date: November 17, 2025 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the August 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-050",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-11-20",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Follower threshold for Threads profile discovery lowered from 1,000 to 100, so more public profiles can be looked up (discovery returns only public profiles with at least 100 followers).",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-086",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2025-12-02",
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Sign in with Google and Sign in with Apple added to the OAuth member-authentication login page (desktop and Android web).",
   "notes": "",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-032",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-12-03",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Delete Instagram Media API (DELETE /{ig_media_id}) for posts, carousels, reels and stories. Needs the new instagram_manage_contents permission.",
   "notes": "Delete Instagram Media API (DELETE /{ig_media_id}) for posts, carousels, reels and stories; needs the new instagram_manage_contents permission.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-033",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2025-12-03",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Trial Reels support in the Content Publishing API (trial_params) under both login types.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-093",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2025-12-04",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Quota cost of a video upload cut from about 1600 units to about 100 units.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-048",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2025-12-08",
   "effective": "2025-12-22",
   "announced_month": null,
   "notice_days": 14,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Posts with more than 5 links now fail at container creation with THREADS_API__LINK_LIMIT_EXCEEDED.",
   "notes": "Posts with more than 5 links now fail at container creation with THREADS_API__LINK_LIMIT_EXCEEDED. A new cap on something previously accepted, logged as a capability removal.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-067",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-01-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202501 sunset date: January 15, 2026.",
   "notes": "Marketing API version 202501 sunset date: January 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the November 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-040",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2026-01-26",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v18.0 reaches end of life.",
   "notes": "Graph API v18.0 reaches end of life ('Available Until' column of the changelog version table; quote is the table row, cells joined by spaces).",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-047",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": "2026-01-30",
   "effective": "2026-01-30",
   "announced_month": null,
   "notice_days": 0,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "New Page Integrity API and webhook: integrity status, violations, restrictions and appeal status for a Page.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/pages-api/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/pages-api/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-004",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-02-06",
   "effective": "2026-02-06",
   "announced_month": null,
   "notice_days": 0,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "X API Pay-Per-Use launched. Only Public Utility Apps keep free scaled access ('Starting now'). Recently active Legacy Free users are transitioned to pay-per-use with a one-time $10 voucher. Basic and Pro remained available at that point.",
   "notes": "X API Pay-Per-Use launched; only Public Utility Apps keep free scaled access ('Starting now'); recently active Legacy Free users are transitioned to pay-per-use with a one-time $10 voucher; Basic and Pro remained available at that point.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/256476",
   "sources": [
    "https://devcommunity.x.com/t/256476"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-057",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2026-02-13",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Reply approvals: posts can require approval of replies, with pending-reply management.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-066",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-02-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202502 sunset date: February 16, 2026.",
   "notes": "Marketing API version 202502 sunset date: February 16, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the November 2025 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-044",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": "2026-02-18",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v25.0 (2026-02-18) announced that page reach, post reach, video impressions and story impressions metrics in the Page, Post, Video and Stories Insights APIs would return an error on all API versions once v26.0 was released (v26.0 shipped 2026-07-29).",
   "notes": "Graph API v25.0 (2026-02-18) announced that page reach, post reach, video impressions and story impressions metrics in the Page, Post, Video and Stories Insights APIs would return an error on all API versions once v26.0 was released (v26.0 shipped 2026-07-29). Meta's Insights reference gives a different date (June 15, 2026) and marks the metrics 'Deprecated above Graph API v25', so the all-versions effective date is not confirmed. Some metrics have named alternatives; others have none.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/version25.0",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/version25.0"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-005",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-02-23",
   "effective": "2026-02-23",
   "announced_month": null,
   "notice_days": 0,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Programmatic replies via the API only permitted when the replier is summoned by the original author (@mention or quote). Programmatic @mentions/quotes of non-participants restricted.",
   "notes": "Programmatic replies via the API only permitted when the replier is summoned by the original author (@mention or quote); programmatic @mentions/quotes of non-participants restricted. Self-serve tiers only; Enterprise unaffected.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/257909",
   "sources": [
    "https://devcommunity.x.com/t/257909",
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-112",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2026-02-27",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Pinterest is changing API responses to omit optional fields that are null instead of returning them as null, endpoint by endpoint, eventually on all public endpoints. Integrations that expect the null keys must change their validation.",
   "notes": "Pinterest is changing API responses to omit optional fields that are null instead of returning them as null, endpoint by endpoint, eventually on all public endpoints; integrations that expect the null keys must change their validation.",
   "date_note": "",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-105",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-03-09",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "YouTube Analytics and Reporting APIs: the ageGroup / age_group dimensions now include users YouTube estimates to be under 18.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/analytics/revision_history",
   "sources": [
    "https://developers.google.com/youtube/analytics/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-065",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-03-16",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202503 sunset date: March 16, 2026.",
   "notes": "Marketing API version 202503 sunset date: March 16, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the January 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-119",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2026-03-24",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "The atproto spring 2026 roadmap reports that OAuth permissions and permission sets have shipped (post date. Ship date not stated).",
   "notes": "The atproto spring 2026 roadmap reports that OAuth permissions and permission sets have shipped (post date; ship date not stated).",
   "date_note": "",
   "source_url": "https://atproto.com/blog/2026-spring-roadmap",
   "sources": [
    "https://atproto.com/blog/2026-spring-roadmap"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-011",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-03-20",
   "effective": "2026-03-25",
   "announced_month": null,
   "notice_days": 5,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Account Activity replay endpoint POST /2/account_activity/replay/webhooks/{webhook_id}/subscriptions/all deprecated effective March 25, 2026. Use POST /2/webhooks/replay.",
   "notes": "Account Activity replay endpoint POST /2/account_activity/replay/webhooks/{webhook_id}/subscriptions/all deprecated effective March 25, 2026; use POST /2/webhooks/replay.",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "threads-049",
   "platform": "threads",
   "platform_name": "Threads",
   "announced": "2026-02-27",
   "effective": "2026-03-31",
   "announced_month": null,
   "notice_days": 32,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": true,
   "announced_after_fact": false,
   "summary": "Tenor GIF support removed from Threads publishing. GIPHY support added the same day.",
   "notes": "Tenor GIF support removed from Threads publishing; GIPHY support added the same day.",
   "date_note": " Source says sunsetted \"by\" March 31, 2026, so 32 days is an upper bound.",
   "source_url": "https://developers.facebook.com/documentation/threads/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/threads/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-123",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-03-25",
   "effective": "2026-03-31",
   "announced_month": null,
   "notice_days": 6,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "From 2026-03-31, accounts Reddit identifies as allowed automation show an 'App' label (announced 2026-03-25). Staff say labeling does not affect how apps operate.",
   "notes": "From 2026-03-31, accounts Reddit identifies as allowed automation show an 'App' label (announced 2026-03-25); staff say labeling does not affect how apps operate. Reddit says unregistered automated accounts will later be prompted to complete a verification flow ('in the coming months', no date).",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1s3f3ag/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1s3f3ag/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-127",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-03-25",
   "effective": "2026-03-31",
   "announced_month": null,
   "notice_days": 6,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "$1,000 bounty program for migrating Data API apps to the Developer Platform (runs 2026-03-31 to 2026-12-31).",
   "notes": "",
   "date_note": "",
   "source_url": "https://support.reddithelp.com/hc/en-us/articles/47822311698452-Reddit-Developer-Platform-App-Migration-Program-2026-Terms",
   "sources": [
    "https://support.reddithelp.com/hc/en-us/articles/47822311698452-Reddit-Developer-Platform-App-Migration-Program-2026-Terms"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-088",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": null,
   "announced_month": "2026-04",
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "New creator analytics metrics on /memberCreatorPostAnalytics from 202604: POST_SEND, POST_SAVE, LINK_CLICKS, PREMIUM_CTA_CLICKS, FOLLOWER_GAINED_FROM_CONTENT, PROFILE_VIEW_FROM_CONTENT.",
   "notes": "",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-115",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2026-04-08",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Max image upload size raised from 1 MB to 2 MB.",
   "notes": "Max image upload size raised from 1 MB to 2 MB (atproto lexicon commit date; deployment date not stated).",
   "date_note": "",
   "source_url": "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/images.json",
   "sources": [
    "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/images.json"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-064",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-04-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202504 sunset date: April 15, 2026.",
   "notes": "Marketing API version 202504 sunset date: April 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the February 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-006",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-04-16",
   "effective": "2026-04-20",
   "announced_month": null,
   "notice_days": 4,
   "impact": "breaking",
   "category": "removed_no_replacement",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Following, Likes and Quote-Posts via API removed from all self-serve tiers, effective 2026-04-20.",
   "notes": "",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/263025",
   "sources": [
    "https://devcommunity.x.com/t/263025"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-007",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-04-16",
   "effective": "2026-04-20",
   "announced_month": null,
   "notice_days": 4,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Post create price raised $0.01 to $0.015. Posts containing a URL $0.20 (summoned replies stay $0.01). New Owned Reads at $0.001.",
   "notes": "Post create price raised $0.01 to $0.015; Posts containing a URL $0.20 (summoned replies stay $0.01); new Owned Reads at $0.001.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/263025",
   "sources": [
    "https://devcommunity.x.com/t/263025"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-034",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2026-04-22",
   "effective": "2026-04-22",
   "announced_month": null,
   "notice_days": 0,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Content Publishing API can add the 'Paid partnership' label at publish time (branded_content_sponsor_ids, is_paid_partnership).",
   "notes": "Content Publishing API can add the 'Paid partnership' label at publish time (branded_content_sponsor_ids, is_paid_partnership). Facebook Login only.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog",
    "https://developers.facebook.com/documentation/instagram-platform/content-publishing"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-035",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2026-04-22",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Like Media and Comments API (POST/DELETE /{ig_user_id}/likes) for engagement workflows. Needs the new instagram_manage_engagement permission.",
   "notes": "Like Media and Comments API (POST/DELETE /{ig_user_id}/likes) for engagement workflows; needs the new instagram_manage_engagement permission.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-046",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": "2026-03-27",
   "effective": "2026-04-27",
   "announced_month": null,
   "notice_days": 31,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Messenger (Facebook Page messaging): requests using the Message Tags CONFIRMED_EVENT_UPDATE, ACCOUNT_UPDATE and POST_PURCHASE_UPDATE fail with error 100. Migrate to Utility Templates or the Marketing Messages API.",
   "notes": "Messenger (Facebook Page messaging): requests using the Message Tags CONFIRMED_EVENT_UPDATE, ACCOUNT_UPDATE and POST_PURCHASE_UPDATE fail with error 100; migrate to Utility Templates or the Marketing Messages API.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/business-messaging/messenger-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-085",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": null,
   "announced_month": "2026-05",
   "notice_days": null,
   "impact": "neutral",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Reapply to API products from the Developer Portal (May 2026 release): resubmit expired or declined access requests without recreating the app.",
   "notes": "",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-090",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": null,
   "announced_month": "2026-05",
   "notice_days": null,
   "impact": "breaking",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": true,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "From version 202605 (May 2026 release), the Member Post Statistics and Member Video Statistics endpoints return metricType as a string instead of an object.",
   "notes": "From version 202605 (May 2026 release), the Member Post Statistics and Member Video Statistics endpoints return metricType as a string instead of an object. LinkedIn lists it under 'Breaking Changes'; it is version-gated, so older versions keep the old shape until they sunset (202604 sunsets April 15, 2027).",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-012",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-05-04",
   "effective": "2026-05-04",
   "announced_month": null,
   "notice_days": 0,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Search endpoints moved to new index. Retweets no longer returned in keyword-based search results.",
   "notes": "Search endpoints moved to new index; retweets no longer returned in keyword-based search results.",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-095",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-05-04",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "YouTube added 'Additional policies on derived metrics and data storage': audited developers with analytics use cases who apply through the quota extension form (starting June 1, 2026) may create specific additional metrics and, if accepted, store some statistical data beyond 30 days.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/terms/revision-history",
   "sources": [
    "https://developers.google.com/youtube/terms/revision-history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-063",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-05-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202505 sunset date: May 15, 2026.",
   "notes": "Marketing API version 202505 sunset date: May 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the March 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-008",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-05-21",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "tightening",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Legacy Basic plans (monthly and annual) deprecated. All subscribers auto-migrated to pay-per-use after June 1, 2026, at each subscriber's cutover date (end of billing cycle). Opt-out = lose API access.",
   "notes": "Legacy Basic plans (monthly and annual) deprecated; all subscribers auto-migrated to pay-per-use after June 1, 2026, at each subscriber's cutover date (end of billing cycle); opt-out = lose API access.",
   "date_note": "Rolling cutovers after 2026-06-01, each at the end of the subscriber's billing cycle; minimum notice is more than 11 days.",
   "source_url": "https://devcommunity.x.com/t/266305",
   "sources": [
    "https://devcommunity.x.com/t/266305"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-020",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-05-20",
   "effective": "2026-05-21",
   "announced_month": null,
   "notice_days": 1,
   "impact": "neutral",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "From 2026-05-21, auto-recharge also fires when free (voucher) credits run out, so accounts with auto-recharge enabled are charged after a free balance is used up. Before, auto-recharge did not trigger on depleted free credits.",
   "notes": "From 2026-05-21, auto-recharge also fires when free (voucher) credits run out, so accounts with auto-recharge enabled are charged after a free balance is used up; before, auto-recharge did not trigger on depleted free credits.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/266184",
   "sources": [
    "https://devcommunity.x.com/t/266184"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-041",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2026-05-21",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v19.0 reaches end of life.",
   "notes": "Graph API v19.0 reaches end of life ('Available Until' column of the changelog version table; quote is the table row, cells joined by spaces).",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-094",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-06-01",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "access_or_price_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Granular quota system starts with videos.insert and search.list in their own buckets. Current docs show uploads as 100/day at 1 unit.",
   "notes": "Granular quota system starts with videos.insert and search.list in their own buckets; current docs show uploads as 100/day at 1 unit.",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-015",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-06-03",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "paid_partnership flag on POST /2/tweets to label paid promotion.",
   "notes": "",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-098",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-06-03",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "New videos.batchGetStats method, 1 unit, own bucket, 10,000 units/day default.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-114",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2026-06-09",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Create/Update/List/Get Pin gained an optional ai_disclosures object (values SYNTHETIC_PERFORMER, AI_MODIFIED) so creators can declare AI-generated or AI-modified content and Pinterest shows a GenAI label.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-016",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-06-11",
   "effective": "2026-06-11",
   "announced_month": null,
   "notice_days": 0,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Articles draft and publish endpoints added.",
   "notes": "",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-062",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-06-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202506 sunset date: June 15, 2026.",
   "notes": "Marketing API version 202506 sunset date: June 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the April 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "instagram-036",
   "platform": "instagram",
   "platform_name": "Instagram",
   "announced": "2026-06-22",
   "effective": "2026-06-22",
   "announced_month": null,
   "notice_days": 0,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Content Publishing API supports the AI info label at publish time via is_ai_generated.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.facebook.com/documentation/instagram-platform/changelog",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/changelog"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-021",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-06-30",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "X launched a hosted MCP server at https://api.x.com/mcp, reached through the open-source xurl bridge using the user's own OAuth 2.0 permissions.",
   "notes": "X launched a hosted MCP server at https://api.x.com/mcp, reached through the open-source xurl bridge using the user's own OAuth 2.0 permissions. The announcement's capability list includes creating and publishing Articles; it does not list creating Posts.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/269558",
   "sources": [
    "https://devcommunity.x.com/t/269558"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-099",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-07-07",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "brandPartner part supported on videos.insert/update/list.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-061",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-07-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202507 sunset date: July 15, 2026.",
   "notes": "Marketing API version 202507 sunset date: July 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the May 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "bluesky-117",
   "platform": "bluesky",
   "platform_name": "Bluesky",
   "announced": "2026-08-11",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Video embed size limit raised from 100 MB to 300 MB.",
   "notes": "Video embed size limit raised from 100 MB to 300 MB (lexicon commit date).",
   "date_note": "",
   "source_url": "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/video.json",
   "sources": [
    "https://github.com/bluesky-social/atproto/commits/main/lexicons/app/bsky/embed/video.json"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-009",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-08-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "tightening",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Legacy Pro plans (monthly and annual) deprecated. All subscribers auto-migrated to pay-per-use after September 1, 2026 at their cutover date.",
   "notes": "Legacy Pro plans (monthly and annual) deprecated; all subscribers auto-migrated to pay-per-use after September 1, 2026 at their cutover date. Reverses staff statement of 2026-05-22 that there were no plans to deprecate Pro.",
   "date_note": "Rolling cutovers after 2026-09-01, each at the end of the subscriber's billing cycle; minimum notice is more than 18 days.",
   "source_url": "https://devcommunity.x.com/t/273255",
   "sources": [
    "https://devcommunity.x.com/t/273255"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-060",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-08-17",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202508 sunset date: August 17, 2026.",
   "notes": "Marketing API version 202508 sunset date: August 17, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the June 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-113",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2026-08-18",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Pinterest updated its Developer and API Terms of Service and Developer Guidelines on 2026-08-18 to clarify how developers may use Pinterest Data.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-097",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-08-27",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Public view counting aligned across long-form, Live and Shorts: a view counts the moment playback begins. ViewCount docs updated.",
   "notes": "Public view counting aligned across long-form, Live and Shorts: a view counts the moment playback begins; viewCount docs updated.",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-010",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-09-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "neutral",
   "category": "behavior_change",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Consent screen for pay-per-use apps requesting any write scope or dm.read now shows a 'Sensitive permissions requested' disclaimer and required 'I trust this app' checkbox.",
   "notes": "Consent screen for pay-per-use apps requesting any write scope or dm.read now shows a 'Sensitive permissions requested' disclaimer and required 'I trust this app' checkbox. X says there is no way to remove the warning at this time.",
   "date_note": "",
   "source_url": "https://devcommunity.x.com/t/275844",
   "sources": [
    "https://devcommunity.x.com/t/275844"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "youtube-101",
   "platform": "youtube",
   "platform_name": "YouTube",
   "announced": "2026-09-14",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "loosening",
   "category": "additive",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Custom thumbnail max size raised from 2MB to 50MB.",
   "notes": "",
   "date_note": "",
   "source_url": "https://developers.google.com/youtube/v3/revision_history",
   "sources": [
    "https://developers.google.com/youtube/v3/revision_history"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "pinterest-107",
   "platform": "pinterest",
   "platform_name": "Pinterest",
   "announced": "2026-09-14",
   "effective": "2026-09-14",
   "announced_month": null,
   "notice_days": 0,
   "impact": "tightening",
   "category": "access_or_price_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Apps registered on or after 2026-09-14 may receive HTTP 403 PINNER_DATA_ACCESS_DENIED when requesting a board or Pin without Pinterest's authorization for non-business users (Get board, List Pins on board, List board sections, List Pins on board section, Get Pin).",
   "notes": "Apps registered on or after 2026-09-14 may receive HTTP 403 PINNER_DATA_ACCESS_DENIED when requesting a board or Pin without Pinterest's authorization for non-business users (Get board, List Pins on board, List board sections, List Pins on board section, Get Pin). Create Pin is not in the affected list. Pinterest says the error should not apply to apps registered before that date.",
   "date_note": "",
   "source_url": "https://developers.pinterest.com/docs/changelog/",
   "sources": [
    "https://developers.pinterest.com/docs/changelog/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "linkedin-059",
   "platform": "linkedin",
   "platform_name": "LinkedIn",
   "announced": null,
   "effective": "2026-09-15",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Marketing API version 202509 sunset date: September 15, 2026.",
   "notes": "Marketing API version 202509 sunset date: September 15, 2026 (Migration Status table). LinkedIn supports each monthly version for a minimum of one year (versioning page). First listed in the July 2026 release notes.",
   "date_note": "",
   "source_url": "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-130",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-09-15",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "behavior_change",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "New comment IDs stop being monotonically increasing and grow to up to 13 base36 characters (16 with t1_). Code that expects fewer than 8 characters must change.",
   "notes": "New comment IDs stop being monotonically increasing and grow to up to 13 base36 characters (16 with t1_); code that expects fewer than 8 characters must change. Rollout starts the week of September 28, 2026. First announced 2026-05-11 for the week of May 18, then postponed on 2026-05-12.",
   "date_note": "Effective given only as 'the week of September 28th' (2026), so it is null. Earlier announcement and postponement: raw/reddit/verify-comment-id-1taa483.txt ('We've decided to push back the timeline here'). Research saved the May post (raw/reddit/reddit-comment-id-endpoint.txt) but did not log it.",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1whal6a/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1whal6a/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "x-017",
   "platform": "x",
   "platform_name": "X",
   "announced": "2026-09-21",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "additive",
   "category": "additive",
   "affects_posting": false,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "OAuth 1.0a user tokens can be exchanged for OAuth 2.0 tokens without re-consent. Docs say OAuth 1.0a is being retired (no date published).",
   "notes": "OAuth 1.0a user tokens can be exchanged for OAuth 2.0 tokens without re-consent; docs say OAuth 1.0a is being retired (no date published).",
   "date_note": "",
   "source_url": "https://docs.x.com/changelog",
   "sources": [
    "https://docs.x.com/changelog",
    "https://docs.x.com/fundamentals/authentication/oauth-2-0/oauth-1-0a-token-exchange"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "facebook-042",
   "platform": "facebook",
   "platform_name": "Facebook",
   "announced": null,
   "effective": "2026-09-24",
   "announced_month": null,
   "notice_days": null,
   "impact": "scheduled_sunset",
   "category": "version_sunset",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Graph API v20.0 is deprecated and removed.",
   "notes": "Graph API v20.0 is deprecated and removed. Table row also reads: v20.0 May 21, 2024 September 24, 2026.",
   "date_note": "",
   "source_url": "https://developers.facebook.com/docs/graph-api/changelog/version26.0",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/version26.0"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-126",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-09-30",
   "effective": null,
   "announced_month": null,
   "notice_days": null,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "Public API access closes for all remaining apps and users in March 2027 (no day given).",
   "notes": "",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1wubcvf/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1wubcvf/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-124",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-09-30",
   "effective": "2026-10-31",
   "announced_month": null,
   "notice_days": 31,
   "impact": "tightening",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "From 2026-10-31, new requests for public Data API access will no longer be accepted (announced 2026-09-30).",
   "notes": "",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1wubcvf/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1wubcvf/"
   ],
   "verified_on": "2026-10-07"
  },
  {
   "id": "reddit-125",
   "platform": "reddit",
   "platform_name": "Reddit",
   "announced": "2026-09-30",
   "effective": "2027-01-12",
   "announced_month": null,
   "notice_days": 104,
   "impact": "breaking",
   "category": "forced_migration",
   "affects_posting": true,
   "version_gated": false,
   "notice_is_max": false,
   "announced_after_fact": false,
   "summary": "From 2027-01-12 API access starts to close for apps and users that have not registered or responded to outreach.",
   "notes": "",
   "date_note": "",
   "source_url": "https://www.reddit.com/r/redditdev/comments/1wubcvf/",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1wubcvf/"
   ],
   "verified_on": "2026-10-07"
  }
 ],
 "access": [
  {
   "platform": "x",
   "name": "X",
   "cost": "Pay per use from prepaid credits: $0.015 per post, $0.200 per post containing a URL.",
   "approval": "No app review documented for posting on behalf of other users: sign up and accept the Developer Agreement. X's Developer Guidelines require prior approval before deploying AI-generated content and replies.",
   "before": "Not applicable for ordinary posting. AI-generated content and replies need prior approval first.",
   "review": "No review time published."
  },
  {
   "platform": "instagram",
   "name": "Instagram",
   "cost": "No price published on Meta's developer pages.",
   "approval": "App Review and Business Verification for Advanced Access, which apps serving accounts they do not own or manage need.",
   "before": "Standard Access: meant for app roles, development and testing, or apps serving only the developer's own business.",
   "review": "Meta's App Review tutorial: a decision within a week."
  },
  {
   "platform": "facebook",
   "name": "Facebook",
   "cost": "No price published on Meta's developer pages.",
   "approval": "App Review for Page permissions before a Live app can use them. Meta's access-levels page says Business Verification is required for Advanced Access, while its banner says apps may have to be connected to a verified business.",
   "before": "Development mode: only people with a role on the app, and test posts are visible only to them until the app goes Live.",
   "review": "Meta's App Review tutorial: a decision within a week."
  },
  {
   "platform": "threads",
   "name": "Threads",
   "cost": "No price published on the Threads developer pages.",
   "approval": "App Review for every permission, and the app must be published. Meta's App Review page requires Business Verification.",
   "before": "Invited Threads testers only.",
   "review": "Meta's App Review tutorial: a decision within a week. Threads permissions go through the same Meta App Review."
  },
  {
   "platform": "linkedin",
   "name": "LinkedIn",
   "cost": "No price published. Access is by approval.",
   "approval": "Company Page posting needs the vetted Community Management API: a reviewed access request, a registered legal organization and Page super admin verification. Standard tier needs a screencast per use case.",
   "before": "Development tier, the initial approval before Standard: 500 API calls per app and 100 per member per 24 hours.",
   "review": "Not published."
  },
  {
   "platform": "tiktok",
   "name": "TikTok",
   "cost": "No fee stated on the pages read.",
   "approval": "The video.publish scope must be approved, and the API client must pass an audit before Direct Post content can be public.",
   "before": "Up to 5 users posting per 24 hours, and every post is private (SELF_ONLY).",
   "review": "App review: several days to two weeks. The audit that lifts private-only posting: not published."
  },
  {
   "platform": "youtube",
   "name": "YouTube",
   "cost": "No price published. Metered by quota: 100 uploads a day per project by default.",
   "approval": "A compliance audit for more than the default quota, and Google verification for sensitive or restricted OAuth scopes.",
   "before": "Uploads from unverified API projects created after 28 July 2020 are locked to private until the project passes an audit.",
   "review": "OAuth verification: typically 3-5 business days. The YouTube API compliance audit: not published."
  },
  {
   "platform": "pinterest",
   "name": "Pinterest",
   "cost": "No price published on the pages read.",
   "approval": "Trial access by request form, then Standard access, which needs a demo of a live integration and the OAuth flow.",
   "before": "Trial access: Pins and boards are visible only to the creator.",
   "review": "Trial: reviewed each business day. No number of days published."
  },
  {
   "platform": "bluesky",
   "name": "Bluesky",
   "cost": "No fee stated in the developer docs.",
   "approval": "No registration or approval step documented: the quick start logs in with a handle and an app password.",
   "before": "Not applicable: no approval step is documented.",
   "review": "No review documented."
  },
  {
   "platform": "reddit",
   "name": "Reddit",
   "cost": "Free access is rate limited. Commercial use needs Reddit's permission and a contract.",
   "approval": "Approval required since 2025-11-11 under the Responsible Builder Policy. New requests stop on 2026-10-31.",
   "before": "Not stated. Traffic without OAuth or login is blocked.",
   "review": "Staff, in a 2025-11-11 comment: aiming for a 7 day turnaround on most tickets."
  }
 ],
 "limits": [
  {
   "platform": "x",
   "name": "X",
   "cap": "No per-account daily post count on the rate-limits page.",
   "rate": "POST /2/tweets: 10,000 per 24 hours per app and 100 per 15 minutes per user.",
   "blotato": "None stated."
  },
  {
   "platform": "instagram",
   "name": "Instagram",
   "cap": "Meta's docs say both 100 and 50 posts per 24 hours (see the contradictions below).",
   "rate": "4800 x impressions per 24 hours per app and user.",
   "blotato": "50 per account per 24 hours."
  },
  {
   "platform": "facebook",
   "name": "Facebook",
   "cap": "No daily cap published for feed posts. Reels: 30 per 24 hours.",
   "rate": "4800 x engaged users per 24 hours for Page-token calls.",
   "blotato": "25 per Page per 24 hours."
  },
  {
   "platform": "threads",
   "name": "Threads",
   "cap": "250 posts and 1,000 replies per 24 hours.",
   "rate": "4800 x impressions per 24 hours per app and user.",
   "blotato": "None stated."
  },
  {
   "platform": "linkedin",
   "name": "LinkedIn",
   "cap": "Not published.",
   "rate": "Standard limits not published. Development tier: 500 calls per app, 100 per member per day.",
   "blotato": "50 per profile and 50 per company Page per 24 hours."
  },
  {
   "platform": "tiktok",
   "name": "TikTok",
   "cap": "Typically around 15 posts per creator per day, shared across all API clients using Direct Post.",
   "rate": "Direct Post: 6 requests per minute per user token.",
   "blotato": "25 per account per 24 hours, per the publishing validator (an older Starter message says 10, see below). Starter posts to 3 accounts per 24 hours."
  },
  {
   "platform": "youtube",
   "name": "YouTube",
   "cap": "100 uploads a day per project by default.",
   "rate": "Every request costs at least one quota point. No per-minute limit is stated.",
   "blotato": "10 per channel per 24 hours on Starter, 25 on Creator and Agency."
  },
  {
   "platform": "pinterest",
   "name": "Pinterest",
   "cap": "No daily Pin cap published.",
   "rate": "Creating Pins (org_write): 300 per day per app on Trial, 100 per minute per user on Standard.",
   "blotato": "10, 20 or 50 per 24 hours, set by the account's monthly views."
  },
  {
   "platform": "bluesky",
   "name": "Bluesky",
   "cap": "5,000 points per hour and 35,000 per day per account on Bluesky-hosted servers. A post costs 3 points.",
   "rate": "Bluesky's own math: at most 1,666 creates per hour and 11,666 per day.",
   "blotato": "None stated."
  },
  {
   "platform": "reddit",
   "name": "Reddit",
   "cap": "Not published.",
   "rate": "100 queries per minute per OAuth client on free access.",
   "blotato": "Blotato does not post to Reddit."
  }
 ],
 "conflicts": [
  {
   "platform": "instagram",
   "topic": "Instagram's daily API posting cap",
   "text": "Meta's content publishing guide says 100 API-published posts per 24 hours. The same guide's carousel section, the media_publish reference and the content_publishing_limit reference all say 50.",
   "sources": [
    "https://developers.facebook.com/documentation/instagram-platform/content-publishing",
    "https://developers.facebook.com/documentation/instagram-platform/instagram-graph-api/reference/ig-user/media_publish",
    "https://developers.facebook.com/documentation/instagram-platform/instagram-graph-api/reference/ig-user/content_publishing_limit"
   ]
  },
  {
   "platform": "youtube",
   "topic": "The cost of a YouTube upload",
   "text": "YouTube's Quota Calculator page gives videos.insert a default limit of 100 per day at 1 per call, while the same page's summary still says videos.insert has the highest cost, 1600 points.",
   "sources": [
    "https://developers.google.com/youtube/v3/determine_quota_cost"
   ]
  },
  {
   "platform": "facebook",
   "topic": "How long a Graph API version lives",
   "text": "Meta's versioning policy says a version stops being usable two years after the next one is released. Its own version table ends several versions earlier than that, among them v15.0, which the table ends on 2024-11-20 where the policy gives 2025-02-02.",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/guides/versioning",
    "https://developers.facebook.com/docs/graph-api/changelog/"
   ]
  },
  {
   "platform": "linkedin",
   "topic": "When LinkedIn version 202402 sunset",
   "text": "LinkedIn's January 2025 release notes say Feb 17, 2025. Its Migration Status table says February 18, 2025. Neither page reconciles them.",
   "sources": [
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes",
    "https://learn.microsoft.com/en-us/linkedin/marketing/integrations/migrations"
   ]
  },
  {
   "platform": "reddit",
   "topic": "Reddit reversed course on its public API",
   "text": "On 2026-08-05 Reddit staff wrote that Reddit would continue to support limited public API access. On 2026-09-30 they wrote that remaining public API access will end in March 2027.",
   "sources": [
    "https://www.reddit.com/r/redditdev/comments/1vgbm9c/",
    "https://www.reddit.com/r/redditdev/comments/1wubcvf/"
   ]
  },
  {
   "platform": "bluesky",
   "topic": "Bluesky's upload size limit",
   "text": "Bluesky's rate-limits page says the current per-upload limit is 50 MB. The atproto blog says the default maximum blob size was raised to \"300M\".",
   "sources": [
    "https://bsky.network/docs/rate-limits",
    "https://atproto.com/blog/pds-customization-and-metrics"
   ]
  },
  {
   "platform": "facebook",
   "topic": "When Facebook's Page metrics removal takes effect",
   "text": "Meta's v25.0 changelog says the page reach, post reach, video impressions and story impressions metrics return an error on all versions once v26.0 is released. Its Insights reference says by June 15, 2026, and labels each metric deprecated above v25.",
   "sources": [
    "https://developers.facebook.com/docs/graph-api/changelog/version25.0",
    "https://developers.facebook.com/docs/graph-api/reference/insights/"
   ]
  },
  {
   "platform": "blotato",
   "topic": "Our own docs, on TikTok",
   "text": "Blotato's help docs say the publishing validator allows 25 posts per TikTok account per 24 hours, and that an older Starter error message still says 10. The docs flag the conflict themselves.",
   "sources": [
    "https://help.blotato.com/settings/social-accounts"
   ]
  }
 ]
}