{"id":278699,"date":"2026-05-04T15:38:12","date_gmt":"2026-05-04T13:38:12","guid":{"rendered":"https:\/\/www.unipile.com\/?p=278699"},"modified":"2026-05-06T14:52:24","modified_gmt":"2026-05-06T12:52:24","slug":"leggi-email-api","status":"publish","type":"post","link":"https:\/\/www.unipile.com\/it\/read-email-api\/","title":{"rendered":"Come leggere le email tramite API: una guida per sviluppatori all'accesso alla posta in arrivo (2026)"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-toc\" class=\"reat-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important; outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important; letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important; text-decoration: none !important; list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper { padding: 0 20px 40px !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-wrap { max-width: 1100px !important; margin: 0 auto !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e2e5ea !important;<!-- [et_pb_line_break_holder] -->  border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-header {<!-- [et_pb_line_break_holder] -->  padding: 16px 20px !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid #f0f1f3 !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 10px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-header-icon {<!-- [et_pb_line_break_holder] -->  width: 18px !important; height: 18px !important;<!-- [et_pb_line_break_holder] -->  stroke: #3BB98B !important; fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-header-label {<!-- [et_pb_line_break_holder] -->  font-size: 0.75rem !important; font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-grid {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: repeat(4, 1fr) !important;<!-- [et_pb_line_break_holder] -->  gap: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 6px 10px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-col {<!-- [et_pb_line_break_holder] -->  padding: 12px 12px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-col + .reat-col {<!-- [et_pb_line_break_holder] -->  border-left: 1px solid #f0f1f3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-col-label {<!-- [et_pb_line_break_holder] -->  font-size: 0.52rem !important; font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important; text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 1px !important; margin-bottom: 8px !important; display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-item {<!-- [et_pb_line_break_holder] -->  display: flex !important; align-items: center !important; gap: 7px !important;<!-- [et_pb_line_break_holder] -->  padding: 5px 6px !important; border-radius: 6px !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important; transition: background 0.15s !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-item:hover { background: rgba(59,185,139,0.06) !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-num {<!-- [et_pb_line_break_holder] -->  width: 18px !important; height: 18px !important; min-width: 18px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 5px !important; background: #f1f5f9 !important;<!-- [et_pb_line_break_holder] -->  display: flex !important; align-items: center !important; justify-content: center !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.55rem !important; font-weight: 700 !important; color: #64748b !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-item-label {<!-- [et_pb_line_break_holder] -->  font-size: 0.68rem !important; font-weight: 500 !important; color: #1e293b !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-item.active .reat-num { background: #3BB98B !important; color: #ffffff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-toc.reat-wrapper .reat-item.active .reat-item-label { color: #2aaa7e !important; font-weight: 600 !important; }<!-- [et_pb_line_break_holder] -->@media (max-width: 1000px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-grid { grid-template-columns: repeat(2, 1fr) !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-col:nth-child(2n+1) { border-left: none !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 700px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-grid { grid-template-columns: 1fr !important; display: none !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-grid.open { display: grid !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-col { border-left: none !important; border-top: 1px solid #f0f1f3 !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-toggle {<!-- [et_pb_line_break_holder] -->    display: flex !important; align-items: center !important; justify-content: space-between !important;<!-- [et_pb_line_break_holder] -->    padding: 14px 20px !important; cursor: pointer !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-toggle-label { font-size: 0.75rem !important; font-weight: 600 !important; color: #0f2736 !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-toggle-icon {<!-- [et_pb_line_break_holder] -->    width: 16px !important; height: 16px !important;<!-- [et_pb_line_break_holder] -->    stroke: #64748b !important; fill: none !important;<!-- [et_pb_line_break_holder] -->    stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->    transition: transform 0.25s !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-toggle-icon.open { transform: rotate(180deg) !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (min-width: 701px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-toggle { display: none !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 480px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-toc.reat-wrapper .reat-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reat-wrap\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reat-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reat-header\"><!-- [et_pb_line_break_holder] -->        <svg class=\"reat-header-icon\" viewBox=\"0 0 24 24\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span class=\"reat-header-label\">Table of Contents<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reat-toggle\" id=\"reat-toggle\"><!-- [et_pb_line_break_holder] -->        <span class=\"reat-toggle-label\">Browse sections<\/span><!-- [et_pb_line_break_holder] -->        <svg class=\"reat-toggle-icon\" id=\"reat-toggle-icon\" viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reat-grid\" id=\"reat-grid\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reat-col\"><!-- [et_pb_line_break_holder] -->          <span class=\"reat-col-label\">Overview<\/span><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item active\" href=\"#rea-definition\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">01<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">What is a Read Email API?<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-why-matters\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">02<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Why reading emails programmatically matters<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-native-apis\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">03<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Native APIs: Gmail, Outlook, IMAP<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reat-col\"><!-- [et_pb_line_break_holder] -->          <span class=\"reat-col-label\">Architecture<\/span><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-hidden-complexity\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">04<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">The hidden complexity at scale<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-architecture\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">05<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">3 architecture approaches compared<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-unipile\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">06<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Reading emails with Unipile<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reat-col\"><!-- [et_pb_line_break_holder] -->          <span class=\"reat-col-label\">Implementation<\/span><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-code-examples\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">07<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Code examples by language<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-realtime\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">08<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Real-time: webhooks vs polling<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-security\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">09<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Security &#038; compliance<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reat-col\"><!-- [et_pb_line_break_holder] -->          <span class=\"reat-col-label\">Reference<\/span><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-pricing\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">10<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Pricing &#038; free tiers<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-pitfalls\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">11<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Common pitfalls<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-faq\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">12<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">FAQ<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->          <a class=\"reat-item\" href=\"#rea-get-started\"><!-- [et_pb_line_break_holder] -->            <span class=\"reat-num\">13<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"reat-item-label\">Get started in 5 minutes<\/span><!-- [et_pb_line_break_holder] -->          <\/a><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] -->  function init(){<!-- [et_pb_line_break_holder] -->    var toggle = document.getElementById('reat-toggle');<!-- [et_pb_line_break_holder] -->    var grid = document.getElementById('reat-grid');<!-- [et_pb_line_break_holder] -->    var icon = document.getElementById('reat-toggle-icon');<!-- [et_pb_line_break_holder] -->    if(toggle && grid){<!-- [et_pb_line_break_holder] -->      toggle.addEventListener('click', function(){<!-- [et_pb_line_break_holder] -->        grid.classList.toggle('open');<!-- [et_pb_line_break_holder] -->        if(icon) icon.classList.toggle('open');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    var items = document.querySelectorAll('#unipile-rea-toc.reat-wrapper .reat-item');<!-- [et_pb_line_break_holder] -->    items.forEach(function(item){<!-- [et_pb_line_break_holder] -->      item.addEventListener('click', function(e){<!-- [et_pb_line_break_holder] -->        e.preventDefault();<!-- [et_pb_line_break_holder] -->        items.forEach(function(i){ i.classList.remove('active'); });<!-- [et_pb_line_break_holder] -->        item.classList.add('active');<!-- [et_pb_line_break_holder] -->        var href = item.getAttribute('href');<!-- [et_pb_line_break_holder] -->        if(href){<!-- [et_pb_line_break_holder] -->          var target = document.querySelector(href);<!-- [et_pb_line_break_holder] -->          if(target){<!-- [et_pb_line_break_holder] -->            var offset = target.getBoundingClientRect().top + window.scrollY - 80;<!-- [et_pb_line_break_holder] -->            window.scrollTo({ top: offset, behavior: 'smooth' });<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  if(document.readyState === 'loading'){<!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', init);<!-- [et_pb_line_break_holder] -->  } else { init(); }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-hero\" class=\"reah-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-container {<!-- [et_pb_line_break_holder] -->  max-width: 1160px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 60px !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-h1 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 44px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.18 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-accent {<!-- [et_pb_line_break_holder] -->  color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-scope {<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.14) !important;<!-- [et_pb_line_break_holder] -->  border-left: 3px solid #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 16px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 22px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-scope-text {<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-scope-text strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-desc {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 28px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-desc code {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.1) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 2px 6px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 4px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  word-break: break-word !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-actions {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 14px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-cta-primary {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 14px 28px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.95rem !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  transition: transform 0.2s ease !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-cta-primary:hover {<!-- [et_pb_line_break_holder] -->  transform: translateY(-5px) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-cta-primary svg {<!-- [et_pb_line_break_holder] -->  width: 15px !important;<!-- [et_pb_line_break_holder] -->  height: 15px !important;<!-- [et_pb_line_break_holder] -->  stroke: currentColor !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-cta-secondary {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 24px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  border: 2px solid #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.95rem !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  transition: all 0.2s ease !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-cta-secondary:hover {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Code mockup *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-code-wrap {<!-- [et_pb_line_break_holder] -->  border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-editor-bar {<!-- [et_pb_line_break_holder] -->  background: #161b22 !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 18px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid rgba(255,255,255,0.06) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-dot-r { width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #ff5f57 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-dot-y { width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #febc2e !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-dot-g { width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #28c840 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-filename {<!-- [et_pb_line_break_holder] -->  color: #8b949e !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  margin-left: 6px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-pre {<!-- [et_pb_line_break_holder] -->  padding: 22px 24px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  overflow-x: auto !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->  -webkit-overflow-scrolling: touch !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-pre code {<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  white-space: pre !important;<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .c { color: #8b949e !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .k { color: #ff7b72 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .fn { color: #d2a8ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .s { color: #a5d6ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .n { color: #79c0ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .w { color: #e6edf3 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-ok {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.1) !important;<!-- [et_pb_line_break_holder] -->  border-top: 1px solid rgba(59,185,139,0.25) !important;<!-- [et_pb_line_break_holder] -->  color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  padding: 11px 24px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-ok svg {<!-- [et_pb_line_break_holder] -->  width: 14px !important;<!-- [et_pb_line_break_holder] -->  height: 14px !important;<!-- [et_pb_line_break_holder] -->  stroke: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-providers {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 14px 20px !important;<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border-top: 1px solid #e8ecf0 !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-providers img {<!-- [et_pb_line_break_holder] -->  width: 20px !important;<!-- [et_pb_line_break_holder] -->  height: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-providers-label {<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-hero.reah-wrapper .reah-providers-text {<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 50px 16px 60px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-container {<!-- [et_pb_line_break_holder] -->    grid-template-columns: 1fr !important;<!-- [et_pb_line_break_holder] -->    gap: 36px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-h1 {<!-- [et_pb_line_break_holder] -->    font-size: 32px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-desc {<!-- [et_pb_line_break_holder] -->    font-size: 16px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-pre {<!-- [et_pb_line_break_holder] -->    padding: 18px 20px !important;<!-- [et_pb_line_break_holder] -->    font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 40px 12px 50px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-container {<!-- [et_pb_line_break_holder] -->    gap: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-eyebrow {<!-- [et_pb_line_break_holder] -->    font-size: 11px !important;<!-- [et_pb_line_break_holder] -->    padding: 5px 12px !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-h1 {<!-- [et_pb_line_break_holder] -->    font-size: 26px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.22 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-scope {<!-- [et_pb_line_break_holder] -->    padding: 11px 14px !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 18px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-scope-text {<!-- [et_pb_line_break_holder] -->    font-size: 13px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.55 !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-desc {<!-- [et_pb_line_break_holder] -->    font-size: 15px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.65 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 22px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-desc code {<!-- [et_pb_line_break_holder] -->    font-size: 13px !important;<!-- [et_pb_line_break_holder] -->    padding: 1px 5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-actions {<!-- [et_pb_line_break_holder] -->    flex-direction: column !important;<!-- [et_pb_line_break_holder] -->    align-items: stretch !important;<!-- [et_pb_line_break_holder] -->    gap: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-cta-primary,<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-cta-secondary {<!-- [et_pb_line_break_holder] -->    justify-content: center !important;<!-- [et_pb_line_break_holder] -->    width: 100% !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-cta-primary {<!-- [et_pb_line_break_holder] -->    padding: 13px 24px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-cta-secondary {<!-- [et_pb_line_break_holder] -->    padding: 11px 22px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-code-wrap {<!-- [et_pb_line_break_holder] -->    border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-editor-bar {<!-- [et_pb_line_break_holder] -->    padding: 10px 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-filename {<!-- [et_pb_line_break_holder] -->    font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-pre {<!-- [et_pb_line_break_holder] -->    padding: 14px 14px !important;<!-- [et_pb_line_break_holder] -->    font-size: 11.5px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-ok {<!-- [et_pb_line_break_holder] -->    padding: 10px 14px !important;<!-- [et_pb_line_break_holder] -->    font-size: 11.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-providers {<!-- [et_pb_line_break_holder] -->    padding: 12px 14px !important;<!-- [et_pb_line_break_holder] -->    gap: 10px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-providers img {<!-- [et_pb_line_break_holder] -->    width: 18px !important;<!-- [et_pb_line_break_holder] -->    height: 18px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-providers-label,<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-providers-text {<!-- [et_pb_line_break_holder] -->    font-size: 11.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 400px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 36px 10px 44px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-h1 {<!-- [et_pb_line_break_holder] -->    font-size: 23px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-desc {<!-- [et_pb_line_break_holder] -->    font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-pre {<!-- [et_pb_line_break_holder] -->    padding: 12px 12px !important;<!-- [et_pb_line_break_holder] -->    font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-hero.reah-wrapper .reah-providers-text {<!-- [et_pb_line_break_holder] -->    display: none !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reah-container\"><!-- [et_pb_line_break_holder] -->  <!-- Left: content --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reah-left\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reah-eyebrow\">\n<div class=\"reah-dot\"><\/div>\n<p><span>Developer Guide 2026<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<h1 class=\"reah-h1\">How to Read Emails via API: A Developer&#8217;s Guide to <span class=\"reah-accent\">Inbox Access<\/span><\/h1>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reah-scope\"><!-- [et_pb_line_break_holder] -->      <pee class=\"reah-scope-text\"><strong>Scope:<\/strong> This guide covers <strong>sync APIs<\/strong> for reading users&#8217; existing inboxes &#8211; Gmail API, Microsoft Graph, IMAP, and unified layers like Unipile. This is distinct from transactional services (SendGrid, Mailgun) that send outbound email from your domain.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"reah-desc\">Build products that read user emails programmatically. From a single <code>GET \/api\/v1\/emails<\/code> call to real-time webhooks, this guide covers every approach with working code in Node.js, Python, and cURL.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reah-actions\"><!-- [et_pb_line_break_holder] -->      <a href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" class=\"reah-cta-primary\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span>Start free trial<\/span><!-- [et_pb_line_break_holder] -->      <\/a><!-- [et_pb_line_break_holder] -->      <a href=\"https:\/\/www.unipile.com\/email-api-guide\/\" class=\"reah-cta-secondary\"><span>Email API Guide<\/span><\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- Right: code mockup --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reah-right\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reah-code-wrap\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reah-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reah-dot-r\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reah-dot-y\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reah-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reah-filename\">read_inbox.js<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reah-pre\"><code><span class=\"c\">\/\/ Read emails with one unified API call<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">const<\/span> <span class=\"w\">response<\/span> <span class=\"k\">=<\/span> <span class=\"k\">await<\/span> <span class=\"fn\">fetch<\/span><span class=\"w\">(<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"s\">'https:\/\/api3.unipile.com:PORT\/api\/v1\/emails'<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">{<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">headers: {<\/span><!-- [et_pb_line_break_holder] -->      <span class=\"s\">'X-API-KEY'<\/span><span class=\"w\">:<\/span> <span class=\"s\">process.env.UNIPILE_API_KEY<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->      <span class=\"s\">'account_id'<\/span><span class=\"w\">:<\/span> <span class=\"w\">accountId<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">);<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">const<\/span> <span class=\"w\">{ emails } =<\/span> <span class=\"k\">await<\/span> <span class=\"w\">response.<\/span><span class=\"fn\">json<\/span><span class=\"w\">();<\/span><!-- [et_pb_line_break_holder] --><span class=\"c\">\/\/ Same JSON shape for Gmail, Outlook & IMAP<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">emails.<\/span><span class=\"fn\">forEach<\/span><span class=\"w\">(email => {<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">console.<\/span><span class=\"fn\">log<\/span><span class=\"w\">(email.subject, email.from_attendee);<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">});<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reah-ok\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span>200 OK &#8211; 47 emails returned (Gmail + Outlook + IMAP)<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reah-providers\"><!-- [et_pb_line_break_holder] -->        <span class=\"reah-providers-label\">Works with:<\/span><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/gmail-3.svg\" alt=\"Gmail\" \/><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/outlook-2.svg\" alt=\"Outlook\" \/><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/imap-1.svg\" alt=\"IMAP\" \/><!-- [et_pb_line_break_holder] -->        <span class=\"reah-providers-text\">Gmail, Outlook &#038; IMAP<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-def\" class=\"read-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-container {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 32px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Definition snippet box *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-snippet {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-left: 4px solid #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 28px 32px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-snippet-label {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.8px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 10px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-snippet-text {<!-- [et_pb_line_break_holder] -->  font-size: 16px !important;<!-- [et_pb_line_break_holder] -->  color: #1e293b !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.75 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-snippet-text strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Distinction table *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-distinction {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 16px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 22px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-card.is-green {<!-- [et_pb_line_break_holder] -->  border-top: 3px solid #3BB98B !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-card.is-muted {<!-- [et_pb_line_break_holder] -->  border-top: 3px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  opacity: 0.75 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-label {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.7px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-card.is-green .read-dist-label { color: #2aaa7e !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-card.is-muted .read-dist-label { color: #94a3b8 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-desc {<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-def.read-wrapper .read-dist-example {<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  margin-top: 10px !important;<!-- [et_pb_line_break_holder] -->  font-style: italic !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 640px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-def.read-wrapper .read-distinction {<!-- [et_pb_line_break_holder] -->    grid-template-columns: 1fr !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-def.read-wrapper .read-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 26px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"read-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-definition\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"read-eyebrow\">\n<div class=\"read-dot\"><\/div>\n<p><span>Definition<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"read-h2\">What is a Read Email API?<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"read-lead\">A read email API is an HTTP interface that lets your application access, retrieve, and process emails from a user&#8217;s existing mailbox &#8211; without storing passwords or building provider-specific integrations. It is the foundation of any product that needs inbox visibility: CRM sync, AI email copilots, support automation, or compliance archiving.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"read-snippet\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"read-snippet-label\">Quick definition<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"read-snippet-text\">A <strong>read email API<\/strong> exposes endpoints to authenticate against a user&#8217;s mailbox (via OAuth 2.0 or IMAP credentials), list inbox messages, fetch full email bodies with attachments, and subscribe to real-time delivery events. It operates on the user&#8217;s existing Gmail, Outlook, or IMAP account &#8211; <strong>not<\/strong> a domain you control. This distinguishes it from transactional email APIs (SendGrid, Mailgun, Resend), which send outbound email on behalf of your application.<\/pee><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"read-distinction\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"read-dist-card is-green\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-label\">This guide covers<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-title\">Sync \/ Read Email APIs<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"read-dist-desc\">Connect to users&#8217; existing inboxes. Read, sync, and react to emails in real time. Auth via OAuth 2.0 or IMAP. The user grants access to their own mailbox.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-example\">Examples: Gmail API, Microsoft Graph, IMAP, Unipile<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"read-dist-card is-muted\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-label\">Not this guide<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-title\">Transactional Email APIs<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"read-dist-desc\">Send outbound emails from a domain you control. Used for receipts, notifications, password resets. No inbox access.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"read-dist-example\">Examples: SendGrid, Mailgun, Resend, Postmark<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-why\" class=\"reaw-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-grid {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 28px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card-icon {<!-- [et_pb_line_break_holder] -->  width: 44px !important;<!-- [et_pb_line_break_holder] -->  height: 44px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card-icon svg {<!-- [et_pb_line_break_holder] -->  width: 22px !important;<!-- [et_pb_line_break_holder] -->  height: 22px !important;<!-- [et_pb_line_break_holder] -->  stroke: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card-h3 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 16px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 10px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-card-bullets {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 6px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-bullet {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-why.reaw-wrapper .reaw-bullet-dot {<!-- [et_pb_line_break_holder] -->  width: 6px !important;<!-- [et_pb_line_break_holder] -->  height: 6px !important;<!-- [et_pb_line_break_holder] -->  min-width: 6px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  margin-top: 7px !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-why.reaw-wrapper .reaw-grid {<!-- [et_pb_line_break_holder] -->    grid-template-columns: 1fr !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-why.reaw-wrapper .reaw-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-why.reaw-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 50px 20px 60px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-why.reaw-wrapper .reaw-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 26px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reaw-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-why-matters\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaw-eyebrow\">\n<div class=\"reaw-dot\"><\/div>\n<p><span>Use Cases<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reaw-h2\">Why Reading Emails Programmatically Matters<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reaw-lead\">The ability to read user emails via API unlocks a category of products that were simply impossible with SMTP alone. Here are the four primary use cases driving adoption in 2026.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaw-grid\"><!-- [et_pb_line_break_holder] -->    <!-- CRM & sales --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaw-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reaw-card-h3\">CRM and Sales Engagement Sync<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaw-card-desc\">Sales tools need to see every email thread between a rep and a prospect &#8211; automatically, without manual logging. A read email API pulls conversations directly from the rep&#8217;s inbox and syncs them to your CRM in real time.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-bullets\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Auto-log email exchanges to contact records<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Surface deal-relevant signals from inbox threads<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Detect reply intent and update pipeline stage<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- AI agents --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaw-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><circle cx=\"12\" cy=\"16\" r=\"1\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reaw-card-h3\">AI Agents and Email Copilots<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaw-card-desc\">Large language models need context. By feeding your AI agent a real-time stream of inbox emails, you can build copilots that draft replies, summarise threads, extract action items, and prioritise conversations automatically.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-bullets\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Stream new emails to an LLM processing pipeline<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Generate context-aware draft replies<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Extract tasks, dates, and commitments from threads<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Customer support --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaw-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reaw-card-h3\">Customer Support Automation<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaw-card-desc\">Support teams receive thousands of emails a day. A read email API lets your platform classify incoming requests, route them to the right queue, and trigger automated responses &#8211; all before a human ever opens a ticket.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-bullets\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Classify support emails by topic and urgency<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Route to agent queues based on email content<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Trigger auto-responses for common request patterns<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Compliance --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaw-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reaw-card-h3\">Compliance, Archiving, and eDiscovery<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaw-card-desc\">Regulated industries must retain and index every email. A read email API provides the programmatic access needed to continuously archive inboxes, flag policy violations, and produce email records on demand for legal review.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaw-card-bullets\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Continuous inbox archiving for GDPR \/ FINRA compliance<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>Policy violation detection across employee mailboxes<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaw-bullet\">\n<div class=\"reaw-bullet-dot\"><\/div>\n<p><span>eDiscovery export on demand for legal hold<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-native\" class=\"rean-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Provider sections *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider {<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-header {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 14px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-logo {<!-- [et_pb_line_break_holder] -->  width: 36px !important;<!-- [et_pb_line_break_holder] -->  height: 36px !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-h3 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 20px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-badge {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  padding: 3px 10px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.4px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-badge.gmail {<!-- [et_pb_line_break_holder] -->  background: rgba(234,67,53,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #c0392b !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-badge.outlook {<!-- [et_pb_line_break_holder] -->  background: rgba(0,120,212,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #0078d4 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-badge.imap {<!-- [et_pb_line_break_holder] -->  background: rgba(100,116,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #475569 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-provider-desc {<!-- [et_pb_line_break_holder] -->  font-size: 15.5px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.75 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Code block *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-code-wrap {<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-editor-bar {<!-- [et_pb_line_break_holder] -->  background: #161b22 !important;<!-- [et_pb_line_break_holder] -->  padding: 10px 16px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid rgba(255,255,255,0.06) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-dot-r { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #ff5f57 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-dot-y { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #febc2e !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-dot-g { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #28c840 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-filename {<!-- [et_pb_line_break_holder] -->  color: #8b949e !important;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  margin-left: 4px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-pre {<!-- [et_pb_line_break_holder] -->  padding: 20px 22px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  overflow-x: auto !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-pre code {<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  white-space: pre !important;<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .c { color: #8b949e !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .k { color: #ff7b72 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .fn { color: #d2a8ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .s { color: #a5d6ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .n { color: #79c0ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .w { color: #e6edf3 !important; }<!-- [et_pb_line_break_holder] -->\/* Info callout *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-callout {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  border-left: 3px solid #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  padding: 14px 18px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-callout strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-divider {<!-- [et_pb_line_break_holder] -->  height: 1px !important;<!-- [et_pb_line_break_holder] -->  background: #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Complexity note box *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-complexity {<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.10) !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid rgba(221,223,76,0.4) !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 22px 26px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-complexity-title {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-complexity-text {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.65 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-native.rean-wrapper .rean-complexity-text a {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: underline !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-native.rean-wrapper .rean-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-native.rean-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-native.rean-wrapper .rean-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-native.rean-wrapper .rean-provider-h3 { font-size: 17px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"rean-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-native-apis\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-eyebrow\">\n<div class=\"rean-dot\"><\/div>\n<p><span>Provider Deep Dive<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"rean-h2\">Native APIs for Reading Emails: Gmail, Outlook, and IMAP<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"rean-lead\">Each major email provider exposes its own read API with different endpoints, authentication models, and capabilities. Here is what each looks like in practice.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Gmail --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-provider\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-provider-header\"><!-- [et_pb_line_break_holder] -->      <img decoding=\"async\" class=\"rean-provider-logo\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2024\/02\/gmail-3.svg\" alt=\"Gmail logo\" \/><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"rean-provider-h3\">Gmail API<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <span class=\"rean-provider-badge gmail\">OAuth 2.0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"rean-provider-desc\">The Gmail API is a REST API built on top of Google&#8217;s infrastructure. It uses <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">users.messages.list<\/code> to paginate through a mailbox and <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">users.messages.get<\/code> to fetch a full message. It supports push notifications via Google Pub\/Sub, making real-time inbox monitoring feasible without polling. Rate limit: 250 quota units per user per second.<\/pee><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-code-wrap\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"rean-dot-r\"><\/div>\n<div class=\"rean-dot-y\"><\/div>\n<div class=\"rean-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"rean-filename\">gmail_read.sh<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-pre\"><code><span class=\"c\"># List inbox messages (Gmail API)<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/gmail.googleapis.com\/gmail\/v1\/users\/me\/messages?labelIds=INBOX&maxResults=20\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Authorization: Bearer ACCESS_TOKEN\"<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Fetch a single email with full body<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/gmail.googleapis.com\/gmail\/v1\/users\/me\/messages\/MESSAGE_ID?format=full\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Authorization: Bearer ACCESS_TOKEN\"<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-callout\"><strong>Note:<\/strong> Gmail returns messages as base64-encoded MIME parts. You must decode each part and parse multipart boundaries yourself to extract the plain text body, HTML body, and attachments.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-divider\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Microsoft Graph --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-provider\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-provider-header\"><!-- [et_pb_line_break_holder] -->      <img decoding=\"async\" class=\"rean-provider-logo\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2024\/02\/outlook-2.svg\" alt=\"Outlook logo\" \/><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"rean-provider-h3\">Microsoft Graph (Outlook and Microsoft 365)<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <span class=\"rean-provider-badge outlook\">OAuth 2.0<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"rean-provider-desc\">Microsoft Graph is the unified API for all Microsoft 365 services including Outlook personal accounts, Exchange Online, and Microsoft 365 business mailboxes. The <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">\/me\/messages<\/code> endpoint returns messages with full body content in a single request. Pagination uses <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">$skip<\/code> and <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">$top<\/code> OData parameters. See the full <a href=\"https:\/\/www.unipile.com\/microsoft-graph-api-email-integration-guide\/\" style=\"color:#2aaa7e;font-weight:600;text-decoration:underline;\">Microsoft Graph email integration guide<\/a> for details.<\/pee><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-code-wrap\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"rean-dot-r\"><\/div>\n<div class=\"rean-dot-y\"><\/div>\n<div class=\"rean-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"rean-filename\">graph_read.sh<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-pre\"><code><span class=\"c\"># List inbox messages (Microsoft Graph)<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/graph.microsoft.com\/v1.0\/me\/messages?\\$top=20&\\$filter=parentFolderId eq 'inbox'\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Authorization: Bearer ACCESS_TOKEN\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Content-Type: application\/json\"<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Fetch a single message with body<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/graph.microsoft.com\/v1.0\/me\/messages\/MESSAGE_ID?\\$select=subject,body,from,receivedDateTime\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Authorization: Bearer ACCESS_TOKEN\"<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-callout\"><strong>Note:<\/strong> Microsoft Graph throttles at 10,000 requests per 10 minutes per application per tenant. Body content is returned as HTML or text depending on the <code style=\"background:rgba(0,0,0,0.06);padding:2px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">$select<\/code> and <code style=\"background:rgba(0,0,0,0.06);padding:2px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">Accept<\/code> headers.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-divider\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- IMAP --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-provider\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-provider-header\"><!-- [et_pb_line_break_holder] -->      <img decoding=\"async\" class=\"rean-provider-logo\" src=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2024\/02\/imap-1.svg\" alt=\"IMAP logo\" \/><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"rean-provider-h3\">IMAP<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <span class=\"rean-provider-badge imap\">Universal Protocol<\/span><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"rean-provider-desc\">IMAP (Internet Message Access Protocol) is the universal email protocol supported by virtually every mail server. It is not a REST API but a stateful TCP connection over port 993 (TLS). You issue commands like <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">FETCH<\/code>, <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">SEARCH<\/code>, and <code style=\"background:rgba(0,0,0,0.06);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">IDLE<\/code> over the connection. For a deeper dive, see our <a href=\"https:\/\/www.unipile.com\/the-developers-guide-to-imap-api-solution\/\" style=\"color:#2aaa7e;font-weight:600;text-decoration:underline;\">IMAP API integration guide<\/a>.<\/pee><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-code-wrap\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"rean-dot-r\"><\/div>\n<div class=\"rean-dot-y\"><\/div>\n<div class=\"rean-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"rean-filename\">imap_read.py<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"rean-pre\"><code><span class=\"k\">import<\/span> <span class=\"w\">imaplib<\/span><span class=\"w\">,<\/span> <span class=\"w\">email<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Connect and authenticate<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">mail<\/span> <span class=\"k\">=<\/span> <span class=\"w\">imaplib.<\/span><span class=\"fn\">IMAP4_SSL<\/span><span class=\"w\">(<\/span><span class=\"s\">'imap.example.com'<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">mail.<\/span><span class=\"fn\">login<\/span><span class=\"w\">(<\/span><span class=\"s\">'user@example.com'<\/span><span class=\"w\">,<\/span> <span class=\"s\">'app_password'<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">mail.<\/span><span class=\"fn\">select<\/span><span class=\"w\">(<\/span><span class=\"s\">'INBOX'<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Search for unseen messages<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">status, message_ids<\/span> <span class=\"k\">=<\/span> <span class=\"w\">mail.<\/span><span class=\"fn\">search<\/span><span class=\"w\">(<\/span><span class=\"k\">None<\/span><span class=\"w\">,<\/span> <span class=\"s\">'UNSEEN'<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">for<\/span> <span class=\"w\">msg_id<\/span> <span class=\"k\">in<\/span> <span class=\"w\">message_ids[<\/span><span class=\"n\">0<\/span><span class=\"w\">].<\/span><span class=\"fn\">split<\/span><span class=\"w\">():<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">_, data<\/span> <span class=\"k\">=<\/span> <span class=\"w\">mail.<\/span><span class=\"fn\">fetch<\/span><span class=\"w\">(msg_id,<\/span> <span class=\"s\">'(RFC822)'<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">msg<\/span> <span class=\"k\">=<\/span> <span class=\"w\">email.<\/span><span class=\"fn\">message_from_bytes<\/span><span class=\"w\">(data[<\/span><span class=\"n\">0<\/span><span class=\"w\">][<\/span><span class=\"n\">1<\/span><span class=\"w\">])<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">print<\/span><span class=\"w\">(msg[<\/span><span class=\"s\">'subject'<\/span><span class=\"w\">], msg[<\/span><span class=\"s\">'from'<\/span><span class=\"w\">])<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-callout\"><strong>Note:<\/strong> IMAP requires maintaining long-lived TCP connections and managing connection pools yourself. Real-time delivery uses the <code style=\"background:rgba(0,0,0,0.06);padding:2px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">IDLE<\/code> command, which keeps a connection open and waits for server notifications. This does not scale easily beyond a few hundred concurrent accounts.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"rean-complexity\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"rean-complexity-title\">What about Yahoo and other providers?<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"rean-complexity-text\">Yahoo Mail, ProtonMail, Zoho, and other providers all support IMAP as a universal fallback, so they are covered by the IMAP approach above. Some (like Yahoo) also expose limited proprietary APIs, but none match the capabilities of the Gmail API or Microsoft Graph. For most multi-provider products, IMAP is the universal fallback for any mailbox not covered by Gmail or Outlook OAuth. A <a href=\"https:\/\/www.unipile.com\/email-api-providers\/\">unified email API<\/a> handles this negotiation automatically.<\/pee><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-complex\" class=\"reac-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-grid {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 28px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-card-num {<!-- [et_pb_line_break_holder] -->  width: 36px !important;<!-- [et_pb_line_break_holder] -->  height: 36px !important;<!-- [et_pb_line_break_holder] -->  min-width: 36px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-card-h3 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 16px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 10px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-card-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-detail {<!-- [et_pb_line_break_holder] -->  background: #f8fafc !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-detail-row {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 6px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-detail-row:last-child {<!-- [et_pb_line_break_holder] -->  margin-bottom: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-complex.reac-wrapper .reac-detail-label {<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-complex.reac-wrapper .reac-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-complex.reac-wrapper .reac-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-complex.reac-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-complex.reac-wrapper .reac-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reac-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-hidden-complexity\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reac-eyebrow\">\n<div class=\"reac-dot\"><\/div>\n<p><span>Engineering Reality<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reac-h2\">The Hidden Complexity of Reading Emails at Scale<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reac-lead\">Building a read email API integration against a single provider for a demo takes an afternoon. Building one that works reliably across all providers at production scale is a different challenge entirely. Here is what the engineering actually involves.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reac-grid\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">01<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">OAuth Flow Per Provider<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Each provider has its own OAuth 2.0 implementation, consent screen requirements, scopes, and token lifecycle. Supporting Gmail and Outlook means maintaining two separate OAuth apps, two developer consoles, two token refresh strategies, and two sets of compliance requirements (Google CASA Tier 2, Microsoft Publisher Verification).<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Gmail:<\/span><span>Google Cloud Console app, CASA Tier 2 for sensitive scopes, 1-hour access tokens<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Outlook:<\/span><span>Azure AD app registration, Publisher Verification, configurable token TTL<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">IMAP:<\/span><span>App passwords or OAuth (Gmail IMAP uses same Google OAuth flow)<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">02<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">Pagination Differences<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Each provider paginates differently. Gmail uses opaque page tokens. Microsoft Graph uses OData <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">$skip<\/code> and <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">nextLink<\/code> cursors. IMAP uses numeric UID ranges. Implementing a consistent pagination abstraction across all three requires non-trivial adapter code.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Gmail:<\/span><span>pageToken cursor, max 500 results per page<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Graph:<\/span><span>@odata.nextLink URL, $top\/$skip parameters<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">IMAP:<\/span><span>UID FETCH ranges, CONDSTORE for incremental sync<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">03<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">MIME Parsing<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Emails arrive as raw MIME documents with nested multipart boundaries, base64 or quoted-printable encoding, multiple character sets, and inline attachments. Gmail returns base64url-encoded parts. IMAP returns raw RFC 822. Neither gives you a clean plain-text body without parsing the full MIME tree.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Risk:<\/span><span>International characters, emoji, and RTL text introduce encoding edge cases that corrupt body content<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Attachments:<\/span><span>Must traverse the MIME tree to find Content-Disposition: attachment parts<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">04<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">Rate Limits and Backoff<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Gmail enforces 250 quota units per user per second (listing costs 5 units, fetching 5 units). Microsoft Graph throttles at 10,000 requests per 10 minutes per app per tenant. Both return 429 errors that require exponential backoff with jitter. At 1,000 linked accounts, rate limit management becomes a full engineering problem.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Gmail:<\/span><span>250 quota units\/sec\/user. Daily cap: 1 billion units<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Graph:<\/span><span>10,000 req \/ 10 min \/ app \/ tenant. Retry-After header<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">IMAP:<\/span><span>Provider-specific, typically 10-20 concurrent connections per account<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">05<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">Real-Time: Webhooks vs Polling vs IDLE<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Getting notified when a new email arrives requires completely different mechanisms per provider. Gmail uses Google Pub\/Sub push subscriptions that must be renewed every 7 days. Microsoft Graph uses change notification subscriptions with a maximum lifetime of 4,230 minutes. IMAP uses the IDLE command, which keeps a persistent TCP connection open per account.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Gmail:<\/span><span>Pub\/Sub push, 7-day expiry, requires renew cycle<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Graph:<\/span><span>changeNotifications subscription, max ~3 days expiry<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">IMAP:<\/span><span>IDLE command, 1 persistent TCP connection per account<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reac-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-card-num\">06<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reac-card-h3\">Thread Inconsistencies Across Providers<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reac-card-desc\">Gmail groups messages into threads natively. Microsoft Graph has a conversationId field but threads behave differently from Gmail. IMAP has no native threading &#8211; you reconstruct threads by matching References and In-Reply-To headers manually. Building a cross-provider unified thread view requires significant normalization logic.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reac-detail\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Gmail:<\/span><span>Native threadId, messages.list?labelIds=INBOX returns thread groups<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">Graph:<\/span><span>conversationId, but not equivalent to Gmail threads<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reac-detail-row\"><span class=\"reac-detail-label\">IMAP:<\/span><span>Must parse Message-ID \/ References headers manually<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-arch\" class=\"reaa-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Comparison table *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table-wrap {<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table {<!-- [et_pb_line_break_holder] -->  width: 100% !important;<!-- [et_pb_line_break_holder] -->  border-collapse: collapse !important;<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table thead tr {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table thead th {<!-- [et_pb_line_break_holder] -->  padding: 14px 18px !important;<!-- [et_pb_line_break_holder] -->  text-align: left !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table thead th:first-child {<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border-radius: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table tbody tr {<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid #f0f2f5 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table tbody tr:last-child {<!-- [et_pb_line_break_holder] -->  border-bottom: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table tbody tr.is-highlighted {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.04) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table tbody td {<!-- [et_pb_line_break_holder] -->  padding: 16px 18px !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  vertical-align: top !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-table tbody td:first-child {<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-row-sub {<!-- [et_pb_line_break_holder] -->  font-weight: 400 !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->  margin-top: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-row-sub.is-green {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-badge {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 5px !important;<!-- [et_pb_line_break_holder] -->  padding: 3px 9px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-badge.green {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-badge.yellow {<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-badge.gray {<!-- [et_pb_line_break_holder] -->  background: rgba(100,116,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #475569 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Mobile cards (hidden by default) *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-cards {<!-- [et_pb_line_break_holder] -->  display: none !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 16px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card.is-highlighted {<!-- [et_pb_line_break_holder] -->  border-color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-width: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-head {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 14px 18px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card.is-highlighted .reaa-card-head {<!-- [et_pb_line_break_holder] -->  background: linear-gradient(135deg, #0f2736, #163a4f) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-subtitle {<!-- [et_pb_line_break_holder] -->  font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  margin-top: 3px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card.is-highlighted .reaa-card-subtitle {<!-- [et_pb_line_break_holder] -->  color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-body {<!-- [et_pb_line_break_holder] -->  padding: 16px 18px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-row {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 5px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-label {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-card-value {<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Verdict cards *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdicts {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->  padding: 22px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-card.is-best {<!-- [et_pb_line_break_holder] -->  border-color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-width: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-label {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.6px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-card.is-best .reaa-verdict-label {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-arch.reaa-wrapper .reaa-verdict-desc {<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 50px 16px 60px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-lead {<!-- [et_pb_line_break_holder] -->    font-size: 16px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  \/* Hide table, show cards *\/<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-table-wrap {<!-- [et_pb_line_break_holder] -->    display: none !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-cards {<!-- [et_pb_line_break_holder] -->    display: flex !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-verdicts {<!-- [et_pb_line_break_holder] -->    grid-template-columns: 1fr !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 40px 12px 50px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-eyebrow {<!-- [et_pb_line_break_holder] -->    font-size: 11px !important;<!-- [et_pb_line_break_holder] -->    padding: 5px 12px !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 24px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.25 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-lead {<!-- [et_pb_line_break_holder] -->    font-size: 15px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.65 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-cards {<!-- [et_pb_line_break_holder] -->    margin-bottom: 28px !important;<!-- [et_pb_line_break_holder] -->    gap: 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-head {<!-- [et_pb_line_break_holder] -->    padding: 12px 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-title {<!-- [et_pb_line_break_holder] -->    font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-subtitle {<!-- [et_pb_line_break_holder] -->    font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-body {<!-- [et_pb_line_break_holder] -->    padding: 14px 16px !important;<!-- [et_pb_line_break_holder] -->    gap: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-value {<!-- [et_pb_line_break_holder] -->    font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-verdict-card {<!-- [et_pb_line_break_holder] -->    padding: 18px !important;<!-- [et_pb_line_break_holder] -->    border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-verdict-title {<!-- [et_pb_line_break_holder] -->    font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-verdict-desc {<!-- [et_pb_line_break_holder] -->    font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 400px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 36px 10px 44px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 22px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-lead {<!-- [et_pb_line_break_holder] -->    font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-head {<!-- [et_pb_line_break_holder] -->    padding: 11px 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-body {<!-- [et_pb_line_break_holder] -->    padding: 12px 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-card-value {<!-- [et_pb_line_break_holder] -->    font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-arch.reaa-wrapper .reaa-verdict-card {<!-- [et_pb_line_break_holder] -->    padding: 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reaa-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-architecture\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaa-eyebrow\">\n<div class=\"reaa-dot\"><\/div>\n<p><span>Architecture<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reaa-h2\">Read Email API Architecture: 3 Approaches Compared<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reaa-lead\">There is no single &#8220;correct&#8221; architecture for reading emails. The right approach depends on how many providers you need to support, your engineering bandwidth, and your scale requirements. Here is an honest comparison.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Desktop table --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaa-table-wrap\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<table class=\"reaa-table\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<thead><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Approach<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Pros<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Cons<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>When to use<\/th>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->      <\/thead>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<tbody><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Direct provider APIs<!\u2013- [et_pb_br_holder] -\u2013><span class=\"reaa-row-sub\">Gmail API, Microsoft Graph<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Free tier, full feature access, no intermediary latency<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>OAuth setup per provider, MIME parsing, separate rate limit management, no cross-provider normalization<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reaa-badge yellow\">Single provider only<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Self-hosted IMAP<!\u2013- [et_pb_br_holder] -\u2013><span class=\"reaa-row-sub\">imaplib, node-imap<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Universal protocol, works with any mailbox, no OAuth app required<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Stateful TCP connections, no push notifications (polling or IDLE), connection pool management, slow at scale<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reaa-badge gray\">Legacy \/ on-prem only<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr class=\"is-highlighted\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Unified read email API<!\u2013- [et_pb_br_holder] -\u2013><span class=\"reaa-row-sub is-green\">Unipile<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>One endpoint for all providers, normalized JSON response, managed OAuth, unified webhooks, built-in retry logic<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Additional API call cost per linked account, external dependency<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reaa-badge green\">Multi-provider products<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->      <\/tbody>\n<p><!-- [et_pb_line_break_holder] -->    <\/table>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Mobile cards --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaa-cards\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-title\">Direct provider APIs<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-subtitle\">Gmail API, Microsoft Graph<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Pros<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">Free tier, full feature access, no intermediary latency<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Cons<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">OAuth setup per provider, MIME parsing, separate rate limit management, no cross-provider normalization<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">When to use<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\"><span class=\"reaa-badge yellow\">Single provider only<\/span><\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-title\">Self-hosted IMAP<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-subtitle\">imaplib, node-imap<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Pros<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">Universal protocol, works with any mailbox, no OAuth app required<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Cons<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">Stateful TCP connections, no push notifications (polling or IDLE), connection pool management, slow at scale<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">When to use<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\"><span class=\"reaa-badge gray\">Legacy \/ on-prem only<\/span><\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-card is-highlighted\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-title\">Unified read email API<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-subtitle\">Unipile<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Pros<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">One endpoint for all providers, normalized JSON response, managed OAuth, unified webhooks, built-in retry logic<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">Cons<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\">Additional API call cost per linked account, external dependency<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaa-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-label\">When to use<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reaa-card-value\"><span class=\"reaa-badge green\">Multi-provider products<\/span><\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaa-verdicts\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-verdict-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-label\">Best for single provider<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-title\">Direct Provider API<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaa-verdict-desc\">If every user in your product uses Gmail, build directly against the Gmail API. You get full feature parity, no additional cost, and access to Gmail-specific features like labels, threads, and Pub\/Sub push.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-verdict-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-label\">Best for legacy systems<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-title\">Self-hosted IMAP<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaa-verdict-desc\">On-premises mail servers, enterprise Exchange deployments without Graph API access, or any scenario where OAuth is not available. Use IMAP as a fallback, not a primary strategy for new products.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaa-verdict-card is-best\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-label\">Best for SaaS products<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaa-verdict-title\">Unified Read Email API<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reaa-verdict-desc\">When your users have Gmail, Outlook, and IMAP mailboxes and you need one consistent read email API across all of them, a unified layer like Unipile eliminates the N-provider integration problem entirely.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-upl\" class=\"reau-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 720px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Steps *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-steps {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 24px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-header {<!-- [et_pb_line_break_holder] -->  padding: 22px 28px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->  gap: 18px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-num {<!-- [et_pb_line_break_holder] -->  width: 38px !important;<!-- [et_pb_line_break_holder] -->  height: 38px !important;<!-- [et_pb_line_break_holder] -->  min-width: 38px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-content { flex: 1 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 6px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-step-desc a {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: underline !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Code blocks inside steps *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-code-wrap {<!-- [et_pb_line_break_holder] -->  border-top: 1px solid #f0f2f5 !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-editor-bar {<!-- [et_pb_line_break_holder] -->  background: #161b22 !important;<!-- [et_pb_line_break_holder] -->  padding: 10px 16px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid rgba(255,255,255,0.06) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-dot-r { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #ff5f57 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-dot-y { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #febc2e !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-dot-g { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #28c840 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-filename {<!-- [et_pb_line_break_holder] -->  color: #8b949e !important;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  margin-left: 4px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pre {<!-- [et_pb_line_break_holder] -->  padding: 20px 22px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  overflow-x: auto !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pre code {<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  white-space: pre !important;<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .c { color: #8b949e !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .k { color: #ff7b72 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .fn { color: #d2a8ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .s { color: #a5d6ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .n { color: #79c0ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .w { color: #e6edf3 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-ok {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.1) !important;<!-- [et_pb_line_break_holder] -->  border-top: 1px solid rgba(59,185,139,0.25) !important;<!-- [et_pb_line_break_holder] -->  color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  padding: 10px 22px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-ok svg {<!-- [et_pb_line_break_holder] -->  width: 13px !important; height: 13px !important;<!-- [et_pb_line_break_holder] -->  stroke: #3BB98B !important; fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Pillar callout *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 28px 32px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 24px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-text { flex: 1 !important; min-width: 200px !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 18px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 6px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-cta {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 13px 24px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.9rem !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  transition: transform 0.2s ease !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-cta:hover {<!-- [et_pb_line_break_holder] -->  transform: translateY(-5px) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-upl.reau-wrapper .reau-pillar-cta svg {<!-- [et_pb_line_break_holder] -->  width: 14px !important; height: 14px !important;<!-- [et_pb_line_break_holder] -->  stroke: currentColor !important; fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-upl.reau-wrapper .reau-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-upl.reau-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-upl.reau-wrapper .reau-step-header { flex-direction: column !important; gap: 12px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-upl.reau-wrapper .reau-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-upl.reau-wrapper .reau-pillar { flex-direction: column !important; align-items: flex-start !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reau-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-unipile\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reau-eyebrow\">\n<div class=\"reau-dot\"><\/div>\n<p><span>5-Minute Setup<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reau-h2\">Reading Emails with Unipile&#8217;s Unified Read Email API<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reau-lead\">Unipile abstracts Gmail API, Microsoft Graph, and IMAP behind a single read email API. One OAuth flow, one endpoint, one normalized JSON shape &#8211; regardless of which provider your user&#8217;s mailbox lives on. Here is how to get your first inbox read in under 5 minutes.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reau-steps\"><!-- [et_pb_line_break_holder] -->    <!-- Step 1 --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reau-step\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-step-header\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-num\">1<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-content\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-step-title\">Authenticate a user with the hosted auth link<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <pee class=\"reau-step-desc\">Generate a hosted authentication URL from your Unipile dashboard. Send this link to your user &#8211; they complete the OAuth consent flow for their provider (Gmail, Outlook, or IMAP credentials) on Unipile&#8217;s hosted page. No OAuth app setup, no redirect URI configuration on your end. See the <a href=\"https:\/\/www.unipile.com\/email-api-guide\/\">unified email API guide<\/a> for the full auth flow.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-code-wrap\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-editor-bar\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-dot-r\"><\/div>\n<div class=\"reau-dot-y\"><\/div>\n<div class=\"reau-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <span class=\"reau-filename\">auth_link.sh<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-pre\"><code><span class=\"c\"># Generate a hosted auth link for your user<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X POST<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/api3.unipile.com:PORT\/api\/v1\/hosted\/accounts\/link\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"X-API-KEY: YOUR_API_KEY\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"Content-Type: application\/json\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-d<\/span> <span class=\"s\">'{\"type\":\"EMAIL\",\"name\":\"user@example.com\",\"success_redirect_url\":\"https:\/\/yourapp.com\/connected\"}'<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Response: { \"url\": \"https:\/\/auth.unipile.com\/...\" }<\/span><!-- [et_pb_line_break_holder] --><span class=\"c\"># Send this URL to your user - they complete OAuth on their provider<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Step 2 --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reau-step\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-step-header\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-num\">2<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-content\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-step-title\">List inbox emails &#8211; GET \/api\/v1\/emails<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <pee class=\"reau-step-desc\">Once the user has linked their account, call the emails endpoint with their <code style=\"background:rgba(0,0,0,0.06);padding:2px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">account_id<\/code>. The response is identical whether the underlying mailbox is Gmail, Outlook, or IMAP.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-code-wrap\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-editor-bar\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-dot-r\"><\/div>\n<div class=\"reau-dot-y\"><\/div>\n<div class=\"reau-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <span class=\"reau-filename\">list_emails.sh<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-pre\"><code><span class=\"c\"># List inbox emails (works for Gmail, Outlook, and IMAP)<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/api3.unipile.com:PORT\/api\/v1\/emails?account_id=ACCOUNT_ID&limit=50\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"X-API-KEY: YOUR_API_KEY\"<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Filter by folder<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">\"...?account_id=ACCOUNT_ID&folder=INBOX&limit=50\"<\/span> <span class=\"w\">-H<\/span> <span class=\"s\">\"X-API-KEY: YOUR_API_KEY\"<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Filter unread only<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">\"...?account_id=ACCOUNT_ID&unread=true\"<\/span> <span class=\"w\">-H<\/span> <span class=\"s\">\"X-API-KEY: YOUR_API_KEY\"<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-ok\"><!-- [et_pb_line_break_holder] -->          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->          <span>200 OK &#8211; normalized JSON, same shape for all providers<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Step 3 --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reau-step\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-step-header\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-num\">3<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-content\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-step-title\">Get a single email with body and attachments<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <pee class=\"reau-step-desc\">Fetch a full email by ID. Unipile returns a decoded, normalized object with plain text body, HTML body, and attachment metadata &#8211; no MIME parsing required on your end.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-code-wrap\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-editor-bar\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-dot-r\"><\/div>\n<div class=\"reau-dot-y\"><\/div>\n<div class=\"reau-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <span class=\"reau-filename\">get_email.sh<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-pre\"><code><span class=\"c\"># Fetch a single email with full body + attachments<\/span><!-- [et_pb_line_break_holder] --><span class=\"fn\">curl<\/span> <span class=\"w\">-X GET<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"s\">\"https:\/\/api3.unipile.com:PORT\/api\/v1\/emails\/EMAIL_ID\"<\/span> \\<!-- [et_pb_line_break_holder] -->  <span class=\"w\">-H<\/span> <span class=\"s\">\"X-API-KEY: YOUR_API_KEY\"<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Response fields (always normalized):<\/span><!-- [et_pb_line_break_holder] --><span class=\"c\"># { \"id\", \"subject\", \"date\", \"from_attendee\", \"to_attendees\",<\/span><!-- [et_pb_line_break_holder] --><span class=\"c\">#   \"body\", \"body_plain\", \"attachments\": [{ \"id\", \"filename\", \"size\" }] }<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Step 4 --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reau-step\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-step-header\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-num\">4<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-step-content\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-step-title\">Receive new emails in real time via webhooks<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <pee class=\"reau-step-desc\">Register a webhook endpoint in your Unipile dashboard. Unipile abstracts Gmail Pub\/Sub, Microsoft Graph change notifications, and IMAP IDLE into a single <code style=\"background:rgba(0,0,0,0.06);padding:2px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:13px;color:#383838;\">email.received<\/code> event. No subscription renewal, no IDLE connection pool to manage.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-code-wrap\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-editor-bar\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"reau-dot-r\"><\/div>\n<div class=\"reau-dot-y\"><\/div>\n<div class=\"reau-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <span class=\"reau-filename\">webhook_handler.js<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-pre\"><code><span class=\"c\">\/\/ Unipile calls your endpoint when a new email arrives<\/span><!-- [et_pb_line_break_holder] --><span class=\"c\">\/\/ Same event for Gmail, Outlook, and IMAP users<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">app.<\/span><span class=\"fn\">post<\/span><span class=\"w\">(<\/span><span class=\"s\">'\/webhooks\/email'<\/span><span class=\"w\">, (req, res) => {<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">const<\/span> <span class=\"w\">{ event, account_id, email_id } = req.body;<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <span class=\"k\">if<\/span> <span class=\"w\">(event ===<\/span> <span class=\"s\">'email.received'<\/span><span class=\"w\">) {<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"c\">\/\/ Fetch the full email details<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"fn\">processNewEmail<\/span><span class=\"w\">(account_id, email_id);<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">res.<\/span><span class=\"fn\">sendStatus<\/span><span class=\"w\">(<\/span><span class=\"n\">200<\/span><span class=\"w\">);<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">});<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reau-ok\"><!-- [et_pb_line_break_holder] -->          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->          <span>One webhook event replaces Gmail Pub\/Sub + Graph subscriptions + IMAP IDLE<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Pillar CTA --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reau-pillar\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reau-pillar-text\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reau-pillar-title\">Want the complete integration reference?<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reau-pillar-desc\">The full Email API Guide covers authentication, all endpoints, pagination, attachment downloads, security, and compliance in detail.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.unipile.com\/email-api-guide\/\" class=\"reau-pillar-cta\"><!-- [et_pb_line_break_holder] -->      <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <span>Read the Email API Guide<\/span><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-code\" class=\"reaco-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Tabs *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-tabs {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  gap: 4px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 0 !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 2px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-tab {<!-- [et_pb_line_break_holder] -->  padding: 10px 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px 8px 0 0 !important;<!-- [et_pb_line_break_holder] -->  transition: color 0.2s ease, background 0.2s ease !important;<!-- [et_pb_line_break_holder] -->  user-select: none !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: -2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-tab.active {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 2px solid #0f2736 !important;<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-tab:hover:not(.active) {<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-panel {<!-- [et_pb_line_break_holder] -->  display: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-panel.active {<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Code editor *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-editor {<!-- [et_pb_line_break_holder] -->  border-radius: 0 0 14px 14px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #21262d !important;<!-- [et_pb_line_break_holder] -->  border-top: none !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 32px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-editor-bar {<!-- [et_pb_line_break_holder] -->  background: #161b22 !important;<!-- [et_pb_line_break_holder] -->  padding: 10px 16px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid rgba(255,255,255,0.06) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-dot-r { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #ff5f57 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-dot-y { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #febc2e !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-dot-g { width: 11px !important; height: 11px !important; border-radius: 50% !important; background: #28c840 !important; flex-shrink: 0 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-filename {<!-- [et_pb_line_break_holder] -->  color: #8b949e !important;<!-- [et_pb_line_break_holder] -->  font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  margin-left: 4px !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-pre {<!-- [et_pb_line_break_holder] -->  padding: 22px 24px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.85 !important;<!-- [et_pb_line_break_holder] -->  overflow-x: auto !important;<!-- [et_pb_line_break_holder] -->  background: #0d1117 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-pre code {<!-- [et_pb_line_break_holder] -->  font-family: 'Courier New', monospace !important;<!-- [et_pb_line_break_holder] -->  white-space: pre !important;<!-- [et_pb_line_break_holder] -->  display: block !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .c { color: #8b949e !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .k { color: #ff7b72 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .fn { color: #d2a8ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .s { color: #a5d6ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .n { color: #79c0ff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .w { color: #e6edf3 !important; }<!-- [et_pb_line_break_holder] -->\/* Links inside *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-link-row {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 16px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->  margin-top: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-link {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: underline !important;<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 5px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-code.reaco-wrapper .reaco-link svg {<!-- [et_pb_line_break_holder] -->  width: 13px !important; height: 13px !important;<!-- [et_pb_line_break_holder] -->  stroke: currentColor !important; fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-code.reaco-wrapper .reaco-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-code.reaco-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-code.reaco-wrapper .reaco-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-code.reaco-wrapper .reaco-tab { padding: 8px 14px !important; font-size: 13px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] -->  function initReacoTabs(){<!-- [et_pb_line_break_holder] -->    var wrap = document.getElementById('unipile-rea-code');<!-- [et_pb_line_break_holder] -->    if(!wrap) return;<!-- [et_pb_line_break_holder] -->    var tabs = wrap.querySelectorAll('.reaco-tab');<!-- [et_pb_line_break_holder] -->    var panels = wrap.querySelectorAll('.reaco-panel');<!-- [et_pb_line_break_holder] -->    tabs.forEach(function(tab){<!-- [et_pb_line_break_holder] -->      tab.addEventListener('click', function(){<!-- [et_pb_line_break_holder] -->        var target = tab.getAttribute('data-tab');<!-- [et_pb_line_break_holder] -->        tabs.forEach(function(t){ t.classList.remove('active'); });<!-- [et_pb_line_break_holder] -->        panels.forEach(function(p){ p.classList.remove('active'); });<!-- [et_pb_line_break_holder] -->        tab.classList.add('active');<!-- [et_pb_line_break_holder] -->        var panel = wrap.querySelector('.reaco-panel[data-panel=\"'+target+'\"]');<!-- [et_pb_line_break_holder] -->        if(panel) panel.classList.add('active');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  if(document.readyState === 'loading'){<!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', initReacoTabs);<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    initReacoTabs();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reaco-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-code-examples\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaco-eyebrow\">\n<div class=\"reaco-dot\"><\/div>\n<p><span>Code Examples<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reaco-h2\">Reading Emails: Code Examples by Language<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reaco-lead\">Production-ready snippets for reading emails with Unipile&#8217;s unified read email API. All examples read from Gmail, Outlook, and IMAP accounts with the same code.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaco-tabs\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-tab active\" data-tab=\"node\"><span>Node.js \/ TypeScript<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-tab\" data-tab=\"python\"><span>Python<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-tab\" data-tab=\"go\"><span>Go<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Node.js panel --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaco-panel active\" data-panel=\"node\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-editor\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaco-dot-r\"><\/div>\n<div class=\"reaco-dot-y\"><\/div>\n<div class=\"reaco-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reaco-filename\">readEmails.ts<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-pre\"><code><span class=\"k\">import<\/span> <span class=\"w\">fetch<\/span> <span class=\"k\">from<\/span> <span class=\"s\">'node-fetch'<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">const<\/span> <span class=\"w\">BASE<\/span> <span class=\"k\">=<\/span> <span class=\"s\">'https:\/\/api3.unipile.com:PORT\/api\/v1'<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">const<\/span> <span class=\"w\">API_KEY<\/span> <span class=\"k\">=<\/span> <span class=\"w\">process.env.<\/span><span class=\"fn\">UNIPILE_API_KEY<\/span><span class=\"w\">!<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">interface<\/span> <span class=\"fn\">Email<\/span> <span class=\"w\">{<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">id:<\/span> <span class=\"k\">string<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">subject:<\/span> <span class=\"k\">string<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">date:<\/span> <span class=\"k\">string<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">from_attendee: { display_name:<\/span> <span class=\"k\">string<\/span><span class=\"w\">; identifier:<\/span> <span class=\"k\">string<\/span> <span class=\"w\">};<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">body:<\/span> <span class=\"k\">string<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">body_plain:<\/span> <span class=\"k\">string<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">attachments: { id:<\/span> <span class=\"k\">string<\/span><span class=\"w\">; filename:<\/span> <span class=\"k\">string<\/span><span class=\"w\">; size:<\/span> <span class=\"k\">number<\/span> <span class=\"w\">}[];<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\">\/\/ List inbox emails - works for Gmail, Outlook, and IMAP<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">async function<\/span> <span class=\"fn\">listEmails<\/span><span class=\"w\">(accountId:<\/span> <span class=\"k\">string<\/span><span class=\"w\">, limit =<\/span> <span class=\"n\">50<\/span><span class=\"w\">) {<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">const<\/span> <span class=\"w\">res<\/span> <span class=\"k\">=<\/span> <span class=\"k\">await<\/span> <span class=\"fn\">fetch<\/span><span class=\"w\">(<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">`${BASE}\/emails?account_id=${accountId}&limit=${limit}&folder=INBOX`<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">{ headers: {<\/span> <span class=\"s\">'X-API-KEY'<\/span><span class=\"w\">: API_KEY } }<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">);<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">const<\/span> <span class=\"w\">data<\/span> <span class=\"k\">=<\/span> <span class=\"k\">await<\/span> <span class=\"w\">res.<\/span><span class=\"fn\">json<\/span><span class=\"w\">();<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">return<\/span> <span class=\"w\">data.items<\/span> <span class=\"k\">as<\/span> <span class=\"fn\">Email<\/span><span class=\"w\">[];<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\">\/\/ Fetch a single email with full body + attachments<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">async function<\/span> <span class=\"fn\">getEmail<\/span><span class=\"w\">(emailId:<\/span> <span class=\"k\">string<\/span><span class=\"w\">) {<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">const<\/span> <span class=\"w\">res<\/span> <span class=\"k\">=<\/span> <span class=\"k\">await<\/span> <span class=\"fn\">fetch<\/span><span class=\"w\">(<\/span><span class=\"s\">`${BASE}\/emails\/${emailId}`<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">{ headers: {<\/span> <span class=\"s\">'X-API-KEY'<\/span><span class=\"w\">: API_KEY } }<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"w\">);<\/span><!-- [et_pb_line_break_holder] -->  <span class=\"k\">return<\/span> <span class=\"k\">await<\/span> <span class=\"w\">res.<\/span><span class=\"fn\">json<\/span><span class=\"w\">() as<\/span> <span class=\"fn\">Email<\/span><span class=\"w\">;<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\">\/\/ Usage<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">const<\/span> <span class=\"w\">emails<\/span> <span class=\"k\">=<\/span> <span class=\"k\">await<\/span> <span class=\"fn\">listEmails<\/span><span class=\"w\">(<\/span><span class=\"s\">'acc_01abc...'<\/span><span class=\"w\">);<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">emails.<\/span><span class=\"fn\">forEach<\/span><span class=\"w\">(e => console.<\/span><span class=\"fn\">log<\/span><span class=\"w\">(e.subject, e.from_attendee.identifier));<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-link-row\"><!-- [et_pb_line_break_holder] -->      <a href=\"https:\/\/www.unipile.com\/send-email-api-javascript\/\" class=\"reaco-link\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span>Full email API for JavaScript guide<\/span><!-- [et_pb_line_break_holder] -->      <\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Python panel --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaco-panel\" data-panel=\"python\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-editor\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaco-dot-r\"><\/div>\n<div class=\"reaco-dot-y\"><\/div>\n<div class=\"reaco-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reaco-filename\">read_emails.py<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-pre\"><code><span class=\"k\">import<\/span> <span class=\"w\">os<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">import<\/span> <span class=\"w\">requests<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"w\">BASE<\/span> <span class=\"k\">=<\/span> <span class=\"s\">\"https:\/\/api3.unipile.com:PORT\/api\/v1\"<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">HEADERS<\/span> <span class=\"k\">=<\/span> <span class=\"w\">{<\/span><span class=\"s\">\"X-API-KEY\"<\/span><span class=\"w\">: os.environ[<\/span><span class=\"s\">\"UNIPILE_API_KEY\"<\/span><span class=\"w\">]}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">def<\/span> <span class=\"fn\">list_emails<\/span><span class=\"w\">(account_id: str, limit: int =<\/span> <span class=\"n\">50<\/span><span class=\"w\">) -> list:<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"\"\"List inbox emails - works for Gmail, Outlook, and IMAP.\"\"\"<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">resp<\/span> <span class=\"k\">=<\/span> <span class=\"w\">requests.<\/span><span class=\"fn\">get<\/span><span class=\"w\">(<\/span><!-- [et_pb_line_break_holder] -->        <span class=\"s\">f\"{BASE}\/emails\"<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->        <span class=\"w\">headers=HEADERS,<\/span><!-- [et_pb_line_break_holder] -->        <span class=\"w\">params={<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"s\">\"account_id\"<\/span><span class=\"w\">: account_id,<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"s\">\"limit\"<\/span><span class=\"w\">: limit,<\/span><!-- [et_pb_line_break_holder] -->            <span class=\"s\">\"folder\"<\/span><span class=\"w\">:<\/span> <span class=\"s\">\"INBOX\"<\/span><span class=\"w\">,<\/span><!-- [et_pb_line_break_holder] -->        <span class=\"w\">},<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">resp.<\/span><span class=\"fn\">raise_for_status<\/span><span class=\"w\">()<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">return<\/span> <span class=\"w\">resp.<\/span><span class=\"fn\">json<\/span><span class=\"w\">()[<\/span><span class=\"s\">\"items\"<\/span><span class=\"w\">]<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">def<\/span> <span class=\"fn\">get_email<\/span><span class=\"w\">(email_id: str) -> dict:<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"\"\"Fetch a single email with body and attachments.\"\"\"<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">resp<\/span> <span class=\"k\">=<\/span> <span class=\"w\">requests.<\/span><span class=\"fn\">get<\/span><span class=\"w\">(<\/span><span class=\"s\">f\"{BASE}\/emails\/{email_id}\"<\/span><span class=\"w\">, headers=HEADERS)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">resp.<\/span><span class=\"fn\">raise_for_status<\/span><span class=\"w\">()<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">return<\/span> <span class=\"w\">resp.<\/span><span class=\"fn\">json<\/span><span class=\"w\">()<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Usage<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">emails<\/span> <span class=\"k\">=<\/span> <span class=\"fn\">list_emails<\/span><span class=\"w\">(<\/span><span class=\"s\">\"acc_01abc...\"<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><span class=\"k\">for<\/span> <span class=\"w\">email<\/span> <span class=\"k\">in<\/span> <span class=\"w\">emails:<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">print<\/span><span class=\"w\">(email[<\/span><span class=\"s\">\"subject\"<\/span><span class=\"w\">], email[<\/span><span class=\"s\">\"from_attendee\"<\/span><span class=\"w\">][<\/span><span class=\"s\">\"identifier\"<\/span><span class=\"w\">])<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"c\"># Fetch full body for first email<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">full<\/span> <span class=\"k\">=<\/span> <span class=\"fn\">get_email<\/span><span class=\"w\">(emails[<\/span><span class=\"n\">0<\/span><span class=\"w\">][<\/span><span class=\"s\">\"id\"<\/span><span class=\"w\">])<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">print<\/span><span class=\"w\">(full[<\/span><span class=\"s\">\"body_plain\"<\/span><span class=\"w\">])<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-link-row\"><!-- [et_pb_line_break_holder] -->      <a href=\"https:\/\/www.unipile.com\/send-email-api-python\/\" class=\"reaco-link\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span>Full email API for Python guide<\/span><!-- [et_pb_line_break_holder] -->      <\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Go panel --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaco-panel\" data-panel=\"go\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaco-editor\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-editor-bar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaco-dot-r\"><\/div>\n<div class=\"reaco-dot-y\"><\/div>\n<div class=\"reaco-dot-g\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reaco-filename\">read_emails.go<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaco-pre\"><code><span class=\"k\">package<\/span> <span class=\"w\">main<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">import<\/span> <span class=\"w\">(<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"encoding\/json\"<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"fmt\"<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"net\/http\"<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"s\">\"os\"<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">type<\/span> <span class=\"fn\">Email<\/span> <span class=\"k\">struct<\/span> <span class=\"w\">{<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"fn\">ID<\/span>        <span class=\"k\">string<\/span> <span class=\"s\">`json:\"id\"`<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"fn\">Subject<\/span>   <span class=\"k\">string<\/span> <span class=\"s\">`json:\"subject\"`<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"fn\">BodyPlain<\/span> <span class=\"k\">string<\/span> <span class=\"s\">`json:\"body_plain\"`<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">type<\/span> <span class=\"fn\">ListResponse<\/span> <span class=\"k\">struct<\/span> <span class=\"w\">{<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"fn\">Items<\/span> <span class=\"w\">[]<\/span><span class=\"fn\">Email<\/span> <span class=\"s\">`json:\"items\"`<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">func<\/span> <span class=\"fn\">listEmails<\/span><span class=\"w\">(accountID string) ([]<\/span><span class=\"fn\">Email<\/span><span class=\"w\">, error) {<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">url<\/span> <span class=\"k\">:=<\/span> <span class=\"s\">\"https:\/\/api3.unipile.com:PORT\/api\/v1\/emails?account_id=\"<\/span> <span class=\"k\">+<\/span> <span class=\"w\">accountID<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">req, _<\/span> <span class=\"k\">:=<\/span> <span class=\"w\">http.<\/span><span class=\"fn\">NewRequest<\/span><span class=\"w\">(<\/span><span class=\"s\">\"GET\"<\/span><span class=\"w\">, url,<\/span> <span class=\"k\">nil<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">req.Header.<\/span><span class=\"fn\">Set<\/span><span class=\"w\">(<\/span><span class=\"s\">\"X-API-KEY\"<\/span><span class=\"w\">, os.<\/span><span class=\"fn\">Getenv<\/span><span class=\"w\">(<\/span><span class=\"s\">\"UNIPILE_API_KEY\"<\/span><span class=\"w\">))<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <span class=\"w\">resp, err<\/span> <span class=\"k\">:=<\/span> <span class=\"w\">http.DefaultClient.<\/span><span class=\"fn\">Do<\/span><span class=\"w\">(req)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">if<\/span> <span class=\"w\">err !=<\/span> <span class=\"k\">nil<\/span> <span class=\"w\">{<\/span> <span class=\"k\">return<\/span> <span class=\"k\">nil<\/span><span class=\"w\">, err }<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">defer<\/span> <span class=\"w\">resp.Body.<\/span><span class=\"fn\">Close<\/span><span class=\"w\">()<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <span class=\"k\">var<\/span> <span class=\"w\">result<\/span> <span class=\"fn\">ListResponse<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">json.<\/span><span class=\"fn\">NewDecoder<\/span><span class=\"w\">(resp.Body).<\/span><span class=\"fn\">Decode<\/span><span class=\"w\">(&result)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">return<\/span> <span class=\"w\">result.Items,<\/span> <span class=\"k\">nil<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><span class=\"k\">func<\/span> <span class=\"fn\">main<\/span><span class=\"w\">() {<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">emails, _<\/span> <span class=\"k\">:=<\/span> <span class=\"fn\">listEmails<\/span><span class=\"w\">(<\/span><span class=\"s\">\"acc_01abc...\"<\/span><span class=\"w\">)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"k\">for<\/span> <span class=\"w\">_, e<\/span> <span class=\"k\">:=<\/span> <span class=\"k\">range<\/span> <span class=\"w\">emails {<\/span><!-- [et_pb_line_break_holder] -->        <span class=\"w\">fmt.<\/span><span class=\"fn\">Println<\/span><span class=\"w\">(e.Subject)<\/span><!-- [et_pb_line_break_holder] -->    <span class=\"w\">}<\/span><!-- [et_pb_line_break_holder] --><span class=\"w\">}<\/span><\/code><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-rt\" class=\"reart-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-grid {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 40px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 26px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card.is-best {<!-- [et_pb_line_break_holder] -->  border-color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-width: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-badge {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 5px !important;<!-- [et_pb_line_break_holder] -->  padding: 3px 10px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-badge.green {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-badge.yellow {<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-badge.gray {<!-- [et_pb_line_break_holder] -->  background: rgba(100,116,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #475569 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-h3 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 16px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 10px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-card-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-row {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  color: #4a5568 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 5px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-row-dot {<!-- [et_pb_line_break_holder] -->  width: 6px !important;<!-- [et_pb_line_break_holder] -->  height: 6px !important;<!-- [et_pb_line_break_holder] -->  min-width: 6px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  margin-top: 6px !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-row-dot.green { background: #3BB98B !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-row-dot.red { background: #ef4444 !important; }<!-- [et_pb_line_break_holder] -->\/* Unipile abstraction box *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-unipile-box {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 2px solid #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 32px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-unipile-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 19px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 10px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-unipile-desc {<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.75 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 24px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-unipile-flow {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 10px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-flow-pill {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  padding: 8px 14px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-flow-arrow {<!-- [et_pb_line_break_holder] -->  color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  font-size: 18px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-rt.reart-wrapper .reart-flow-pill.is-result {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  border-color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-rt.reart-wrapper .reart-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-rt.reart-wrapper .reart-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-rt.reart-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-rt.reart-wrapper .reart-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reart-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-realtime\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reart-eyebrow\">\n<div class=\"reart-dot\"><\/div>\n<p><span>Real-Time<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reart-h2\">Real-Time Email Reading: Webhooks vs Polling<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reart-lead\">Knowing when a new email arrives is as important as being able to read it. There are three mechanisms available, each with very different operational characteristics at scale.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reart-grid\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reart-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-card-badge gray\"><span>Avoid at scale<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reart-card-h3\">Polling<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reart-card-desc\">Your application calls the list emails endpoint on a timer (every 30s, every 5 minutes). Simple to implement but burns quota, introduces latency, and does not scale beyond a handful of accounts.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>Simple &#8211; no server-side setup<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>Burns API quota proportional to accounts x frequency<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>5-minute poll = 5-minute notification delay<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>Does not scale past ~100 active accounts<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reart-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-card-badge yellow\"><span>Provider-specific<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reart-card-h3\">Native Provider Webhooks<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reart-card-desc\">Gmail Pub\/Sub and Microsoft Graph change notifications push events to your server immediately. Fast and quota-efficient &#8211; but each requires separate setup, separate renewal logic, and different event schemas.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>Near-instant delivery (seconds)<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>Quota-efficient &#8211; only triggered on new emails<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>Gmail: Pub\/Sub subscription expires every 7 days<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>Graph: subscription max ~3 days, must renew<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot red\"><\/div>\n<p><span>IMAP IDLE: 1 TCP connection per account<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reart-card is-best\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-card-badge green\"><span>Recommended<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reart-card-h3\">Unipile Unified Webhooks<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reart-card-desc\">Unipile abstracts all provider push mechanisms behind a single <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">email.received<\/code> event. One endpoint receives notifications for Gmail, Outlook, and IMAP accounts alike &#8211; with automatic subscription renewal handled internally.<\/pee><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>One webhook URL for all providers<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>Automatic Pub\/Sub and Graph renewal<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>IMAP IDLE managed internally per account<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-row\">\n<div class=\"reart-row-dot green\"><\/div>\n<p><span>Normalized payload &#8211; same fields every time<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reart-unipile-box\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reart-unipile-title\">How Unipile abstracts real-time email delivery<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"reart-unipile-desc\">Under the hood, Unipile manages Gmail Pub\/Sub subscriptions, Microsoft Graph change notification subscriptions, and IMAP IDLE connections &#8211; per linked account, automatically renewed. Your application registers one webhook URL and receives one normalized event regardless of the underlying provider.<\/pee><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reart-unipile-flow\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-pill\">Gmail Pub\/Sub<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-arrow\">+<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-pill\">Graph Subscriptions<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-arrow\">+<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-pill\">IMAP IDLE<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-arrow\">-><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reart-flow-pill is-result\">email.received event<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-sec\" class=\"reas-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-grid {<!-- [et_pb_line_break_holder] -->  display: grid !important;<!-- [et_pb_line_break_holder] -->  grid-template-columns: 1fr 1fr !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 26px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card-icon {<!-- [et_pb_line_break_holder] -->  width: 40px !important;<!-- [et_pb_line_break_holder] -->  height: 40px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card-icon svg {<!-- [et_pb_line_break_holder] -->  width: 20px !important;<!-- [et_pb_line_break_holder] -->  height: 20px !important;<!-- [et_pb_line_break_holder] -->  stroke: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card-h3 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-card-desc strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Compliance badges *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-compliance {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 32px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-compliance-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 18px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-compliance-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.65 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 24px !important;<!-- [et_pb_line_break_holder] -->  max-width: 600px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-badges {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  gap: 12px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-badge {<!-- [et_pb_line_break_holder] -->  background: rgba(255,255,255,0.07) !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid rgba(255,255,255,0.12) !important;<!-- [et_pb_line_break_holder] -->  border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 18px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-badge svg {<!-- [et_pb_line_break_holder] -->  width: 16px !important;<!-- [et_pb_line_break_holder] -->  height: 16px !important;<!-- [et_pb_line_break_holder] -->  stroke: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-sec.reas-wrapper .reas-badge-text {<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  color: #e2e8f0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-sec.reas-wrapper .reas-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-sec.reas-wrapper .reas-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-sec.reas-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-sec.reas-wrapper .reas-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reas-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-security\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reas-eyebrow\">\n<div class=\"reas-dot\"><\/div>\n<p><span>Security &#038; Compliance<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reas-h2\">Security and Compliance When Reading User Emails<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reas-lead\">Accessing user emails carries significant security and legal responsibilities. Here are the four areas you must address before shipping a read email API integration to production.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reas-grid\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reas-card-h3\">OAuth Scope Minimisation<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reas-card-desc\">Always request the minimum OAuth scope required. For reading emails, use <strong>read-only scopes<\/strong> &#8211; never request send or compose permissions if your application only needs inbox access. Gmail read-only scope is <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">gmail.readonly<\/code>. Microsoft Graph equivalent is <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">Mail.Read<\/code>. Requesting broad scopes triggers stricter Google and Microsoft review processes and reduces user trust at the consent screen.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reas-card-h3\">Token Storage Best Practices<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reas-card-desc\">OAuth access tokens and refresh tokens are credentials. Store them <strong>encrypted at rest<\/strong> using AES-256 or equivalent, never in plaintext in your database. Rotate encryption keys on a schedule. Never log tokens in application logs. Implement token revocation when a user disconnects their account &#8211; call the provider&#8217;s revocation endpoint, do not simply delete the database record.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reas-card-h3\">GDPR and Data Residency<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reas-card-desc\">Email bodies often contain personal data covered by GDPR. You must document in your privacy policy exactly what email data you collect, retain, process, and for how long. Implement a data deletion flow that removes email content when a user requests erasure. If you store email content in your own infrastructure, consider data residency requirements for EU customers.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-card-icon\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"9 11 12 14 22 4\"\/><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3 class=\"reas-card-h3\">Google CASA and Microsoft Publisher Verification<\/h3>\n<p><!-- [et_pb_line_break_holder] -->      <pee class=\"reas-card-desc\">Applications requesting sensitive Gmail scopes (including <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#383838;\">gmail.readonly<\/code>) must complete Google&#8217;s <strong>CASA Tier 2<\/strong> security assessment before being allowed beyond the 100-user test cap. Microsoft requires Publisher Verification for apps requesting certain Graph scopes. Both processes take weeks &#8211; plan accordingly before your launch date. Using Unipile inherits these certifications from the platform layer.<\/pee><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reas-compliance\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-compliance-title\">Unipile compliance certifications<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee class=\"reas-compliance-desc\">Unipile handles Gmail CASA Tier 2 certification, Microsoft Publisher Verification, SOC 2 Type II audit, and GDPR data processing agreements at the platform level. Products built on Unipile inherit these certifications rather than completing them independently.<\/pee><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reas-badges\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-badge\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span class=\"reas-badge-text\">SOC 2 Type II<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-badge\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span class=\"reas-badge-text\">Google CASA Tier 2<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-badge\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span class=\"reas-badge-text\">GDPR Compliant<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reas-badge\"><!-- [et_pb_line_break_holder] -->        <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><!-- [et_pb_line_break_holder] -->        <span class=\"reas-badge-text\">OAuth 2.0 Read-only Scopes<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-price\" class=\"reap-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper {<!-- [et_pb_line_break_holder] -->  background: #f4f5f7 !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Desktop table *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table-wrap {<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table {<!-- [et_pb_line_break_holder] -->  width: 100% !important;<!-- [et_pb_line_break_holder] -->  border-collapse: collapse !important;<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table thead tr {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table thead th {<!-- [et_pb_line_break_holder] -->  padding: 14px 18px !important;<!-- [et_pb_line_break_holder] -->  text-align: left !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #94a3b8 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table thead th:first-child {<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody tr {<!-- [et_pb_line_break_holder] -->  border-bottom: 1px solid #f0f2f5 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody tr:last-child {<!-- [et_pb_line_break_holder] -->  border-bottom: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody tr.is-highlighted {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.04) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody td {<!-- [et_pb_line_break_holder] -->  padding: 15px 18px !important;<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  vertical-align: middle !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody td:first-child {<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-table tbody td a {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: underline !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-badge {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 5px !important;<!-- [et_pb_line_break_holder] -->  padding: 3px 9px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-badge.green {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-badge.yellow {<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-badge.gray {<!-- [et_pb_line_break_holder] -->  background: rgba(100,116,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #475569 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Mobile cards *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-cards {<!-- [et_pb_line_break_holder] -->  display: none !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 14px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 32px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card.is-highlighted {<!-- [et_pb_line_break_holder] -->  border-color: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-width: 2px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-head {<!-- [et_pb_line_break_holder] -->  background: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 16px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: space-between !important;<!-- [et_pb_line_break_holder] -->  gap: 10px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card.is-highlighted .reap-card-head {<!-- [et_pb_line_break_holder] -->  background: linear-gradient(135deg, #0f2736, #163a4f) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #ffffff !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-body {<!-- [et_pb_line_break_holder] -->  padding: 14px 16px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 12px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-row {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 4px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-label {<!-- [et_pb_line_break_holder] -->  font-size: 11px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-value {<!-- [et_pb_line_break_holder] -->  font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-card-value a {<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: underline !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Free trial CTA *\/<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-link {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.08) !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid rgba(59,185,139,0.25) !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 20px 24px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: space-between !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->  flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-text {<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->  flex: 1 1 60% !important;<!-- [et_pb_line_break_holder] -->  min-width: 240px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-text strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-cta {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 11px 22px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.88rem !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  transition: transform 0.2s ease !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-cta:hover {<!-- [et_pb_line_break_holder] -->  transform: translateY(-5px) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-price.reap-wrapper .reap-free-cta svg {<!-- [et_pb_line_break_holder] -->  width: 13px !important; height: 13px !important;<!-- [et_pb_line_break_holder] -->  stroke: currentColor !important; fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important; stroke-linecap: round !important; stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 50px 16px 60px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-lead {<!-- [et_pb_line_break_holder] -->    font-size: 16px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  \/* Hide table, show cards *\/<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-table-wrap {<!-- [et_pb_line_break_holder] -->    display: none !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-cards {<!-- [et_pb_line_break_holder] -->    display: flex !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 40px 12px 50px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-eyebrow {<!-- [et_pb_line_break_holder] -->    font-size: 11px !important;<!-- [et_pb_line_break_holder] -->    padding: 5px 12px !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 24px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.25 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 12px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-lead {<!-- [et_pb_line_break_holder] -->    font-size: 15px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.65 !important;<!-- [et_pb_line_break_holder] -->    margin-bottom: 28px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-cards {<!-- [et_pb_line_break_holder] -->    margin-bottom: 24px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-head {<!-- [et_pb_line_break_holder] -->    padding: 11px 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-title {<!-- [et_pb_line_break_holder] -->    font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-body {<!-- [et_pb_line_break_holder] -->    padding: 12px 14px !important;<!-- [et_pb_line_break_holder] -->    gap: 11px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-value {<!-- [et_pb_line_break_holder] -->    font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-free-link {<!-- [et_pb_line_break_holder] -->    flex-direction: column !important;<!-- [et_pb_line_break_holder] -->    align-items: stretch !important;<!-- [et_pb_line_break_holder] -->    padding: 16px 18px !important;<!-- [et_pb_line_break_holder] -->    gap: 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-free-text {<!-- [et_pb_line_break_holder] -->    font-size: 14px !important;<!-- [et_pb_line_break_holder] -->    line-height: 1.55 !important;<!-- [et_pb_line_break_holder] -->    flex: none !important;<!-- [et_pb_line_break_holder] -->    min-width: 0 !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-free-cta {<!-- [et_pb_line_break_holder] -->    width: 100% !important;<!-- [et_pb_line_break_holder] -->    justify-content: center !important;<!-- [et_pb_line_break_holder] -->    padding: 12px 22px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 400px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper {<!-- [et_pb_line_break_holder] -->    padding: 36px 10px 44px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-h2 {<!-- [et_pb_line_break_holder] -->    font-size: 22px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-lead {<!-- [et_pb_line_break_holder] -->    font-size: 14.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-head {<!-- [et_pb_line_break_holder] -->    padding: 10px 13px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-title {<!-- [et_pb_line_break_holder] -->    font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-body {<!-- [et_pb_line_break_holder] -->    padding: 11px 13px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-card-value {<!-- [et_pb_line_break_holder] -->    font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-free-link {<!-- [et_pb_line_break_holder] -->    padding: 14px 16px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #unipile-rea-price.reap-wrapper .reap-free-text {<!-- [et_pb_line_break_holder] -->    font-size: 13.5px !important;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reap-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-pricing\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reap-eyebrow\">\n<div class=\"reap-dot\"><\/div>\n<p><span>Pricing<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reap-h2\">Read Email API Pricing: Free Tiers and Cost Models<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reap-lead\">The free tiers for native provider APIs are generous at low scale, but the hidden costs appear when you need to support multiple providers, manage token refresh at volume, or hit rate limit ceilings. Here is an honest breakdown.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Desktop table --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reap-table-wrap\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<table class=\"reap-table\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<thead><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Provider<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Free tier<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Cost model<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Rate limit<\/th>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<th>Hidden costs<\/th>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->      <\/thead>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<tbody><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Gmail API<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reap-badge green\">Free with quotas<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Quota units per request. No per-account billing<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>250 units\/sec\/user, 1B units\/day<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>CASA Tier 2 review, MIME parsing, Pub\/Sub renewal logic<\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Microsoft Graph<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reap-badge green\">Free with throttling<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Included with Microsoft 365 tenant. No per-call fee<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>10,000 req\/10 min\/app\/tenant<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Publisher Verification process, subscription renewal, per-tenant OAuth apps<\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>IMAP (self-hosted)<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reap-badge green\">Free protocol<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>No API cost. Infrastructure cost for connection pools<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Provider-specific, ~10-20 connections\/account<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Server infrastructure, IDLE connection management, no push support<\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr class=\"is-highlighted\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Unipile<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td><span class=\"reap-badge yellow\">7-day free trial<\/span><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Per linked account per month. See <a href=\"https:\/\/www.unipile.com\/free-email-api\/\">free email API tier<\/a><\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>Managed internally, built-in retry logic<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>API call cost per account &#8211; offset by eliminated OAuth\/MIME engineering<\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p><!-- [et_pb_line_break_holder] -->      <\/tbody>\n<p><!-- [et_pb_line_break_holder] -->    <\/table>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Mobile cards --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reap-cards\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reap-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-title\">Gmail API<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reap-badge green\">Free with quotas<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Cost model<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Quota units per request. No per-account billing<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Rate limit<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">250 units\/sec\/user, 1B units\/day<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Hidden costs<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">CASA Tier 2 review, MIME parsing, Pub\/Sub renewal logic<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reap-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-title\">Microsoft Graph<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reap-badge green\">Free with throttling<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Cost model<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Included with Microsoft 365 tenant. No per-call fee<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Rate limit<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">10,000 req\/10 min\/app\/tenant<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Hidden costs<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Publisher Verification process, subscription renewal, per-tenant OAuth apps<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reap-card\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-title\">IMAP (self-hosted)<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reap-badge green\">Free protocol<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Cost model<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">No API cost. Infrastructure cost for connection pools<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Rate limit<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Provider-specific, ~10-20 connections\/account<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Hidden costs<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Server infrastructure, IDLE connection management, no push support<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reap-card is-highlighted\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-head\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-title\">Unipile<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <span class=\"reap-badge yellow\">7-day free trial<\/span><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reap-card-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Cost model<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Per linked account per month. See <a href=\"https:\/\/www.unipile.com\/free-email-api\/\">free email API tier<\/a><\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Rate limit<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">Managed internally, built-in retry logic<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reap-card-row\"><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-label\">Hidden costs<\/span><!-- [et_pb_line_break_holder] -->          <span class=\"reap-card-value\">API call cost per account &#8211; offset by eliminated OAuth\/MIME engineering<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reap-free-link\"><!-- [et_pb_line_break_holder] -->    <pee class=\"reap-free-text\"><strong>Starting with a free read email API?<\/strong> The Gmail API and Microsoft Graph both offer free access within quota limits. Unipile offers a 7-day trial with no credit card required, covering Gmail, Outlook, and IMAP linked accounts.<\/pee><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/dashboard.unipile.com\/signup\/\" target=\"_blank\" class=\"reap-free-cta\"><!-- [et_pb_line_break_holder] -->      <svg viewBox=\"0 0 24 24\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <span>Start free trial<\/span><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-pit\" class=\"reapi-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->  padding: 72px 20px 80px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-container {<!-- [et_pb_line_break_holder] -->  max-width: 1100px !important;<!-- [et_pb_line_break_holder] -->  margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->  max-width: 760px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-lead {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 48px !important;<!-- [et_pb_line_break_holder] -->  max-width: 700px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-list {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 16px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-left: 4px solid #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->  padding: 22px 26px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  gap: 18px !important;<!-- [et_pb_line_break_holder] -->  align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-num {<!-- [et_pb_line_break_holder] -->  width: 32px !important;<!-- [et_pb_line_break_holder] -->  height: 32px !important;<!-- [et_pb_line_break_holder] -->  min-width: 32px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(221,223,76,0.18) !important;<!-- [et_pb_line_break_holder] -->  color: #8a8c2e !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-body { flex: 1 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-title {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 6px !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-desc {<!-- [et_pb_line_break_holder] -->  font-size: 14px !important;<!-- [et_pb_line_break_holder] -->  color: #718096 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.7 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-desc strong {<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-fix {<!-- [et_pb_line_break_holder] -->  margin-top: 10px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.08) !important;<!-- [et_pb_line_break_holder] -->  border-radius: 6px !important;<!-- [et_pb_line_break_holder] -->  padding: 8px 12px !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-pit.reapi-wrapper .reapi-item-fix strong {<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #1a8a61 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-pit.reapi-wrapper .reapi-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-pit.reapi-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-pit.reapi-wrapper .reapi-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-pit.reapi-wrapper .reapi-item { flex-direction: column !important; gap: 10px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reapi-container\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-pitfalls\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reapi-eyebrow\">\n<div class=\"reapi-dot\"><\/div>\n<p><span>Common Pitfalls<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reapi-h2\">Common Pitfalls When Building a Read Email Integration<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reapi-lead\">These are the mistakes that consistently cause production incidents for teams shipping their first read email API integration. Learn them before you hit them.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reapi-list\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reapi-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-num\">01<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-title\">Quota exhaustion on Gmail at scale<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee class=\"reapi-item-desc\">Gmail&#8217;s 250 quota units per second per user sounds generous until you have 500 accounts and need to do an initial inbox sync. Listing 500 messages costs 2,500 units; fetching each full message costs another 2,500. Initial syncs for large mailboxes can exhaust daily quotas in hours.<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-fix\"><strong>Fix:<\/strong> Implement exponential backoff on 429 responses, prioritise recent messages for initial sync, and use batch requests where available to reduce per-call overhead.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reapi-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-num\">02<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-title\">Silent token refresh failures<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee class=\"reapi-item-desc\">OAuth refresh tokens expire silently &#8211; Google revokes them after 6 months of inactivity, after a password change, or when a user revokes access from their Google Account settings. If your token refresh logic does not detect a 401 error and surface it to the user, your application will simply stop reading emails with no visible error.<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-fix\"><strong>Fix:<\/strong> Treat 401 responses as account disconnection events. Notify the user and prompt re-authentication. Store a <code style=\"background:rgba(59,185,139,0.15);padding:1px 4px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">last_sync_at<\/code> timestamp and alert when it exceeds your expected sync interval.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reapi-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-num\">03<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-title\">Missing emails due to incorrect folder filters<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee class=\"reapi-item-desc\">Gmail labels and IMAP folders are not equivalent concepts. Gmail&#8217;s <strong>INBOX<\/strong> label does not include messages that have been archived (removed from INBOX but not deleted). Microsoft Graph&#8217;s inbox folder excludes focused inbox vs other pane splits unless you query both. Teams frequently discover they are missing 20-40% of messages due to mismatched folder assumptions.<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-fix\"><strong>Fix:<\/strong> Test your folder queries with real accounts including archived, filtered, and categorised messages. For comprehensive sync, consider querying <code style=\"background:rgba(59,185,139,0.15);padding:1px 4px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">ALL<\/code> messages (not just INBOX) and filtering by date on your side.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reapi-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-num\">04<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-title\">Encoding bugs on international emails<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee class=\"reapi-item-desc\">Email bodies arrive in a wide range of character encodings: UTF-8, ISO-8859-1, Windows-1252, Shift-JIS. Gmail returns base64url-encoded parts. IMAP returns quoted-printable encoded parts. Decoding one encoding as another produces corrupted body text that is invisible in your local test environment (which likely only sends ASCII emails).<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-fix\"><strong>Fix:<\/strong> Always decode MIME parts according to their <code style=\"background:rgba(59,185,139,0.15);padding:1px 4px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">Content-Transfer-Encoding<\/code> and re-encode to UTF-8. Test with Japanese, Arabic, and emoji-heavy email content specifically.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reapi-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-num\">05<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reapi-item-body\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-title\">Threading inconsistencies across providers<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <pee class=\"reapi-item-desc\">Building a unified thread view across Gmail, Outlook, and IMAP accounts requires normalising three completely different threading models. Gmail has native thread IDs. Outlook has conversation IDs that behave differently. IMAP has no native threading at all &#8211; you reconstruct threads from <strong>Message-ID<\/strong>, <strong>References<\/strong>, and <strong>In-Reply-To<\/strong> headers, which are not always present or correct.<\/pee><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reapi-item-fix\"><strong>Fix:<\/strong> A unified read email API like Unipile normalises threading into a consistent model across all providers, eliminating the need to implement provider-specific thread reconstruction logic.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;10px|16px|10px|16px|true|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;transparent&#8221; use_custom_width=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_code _builder_version=&#8221;4.27.4&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;family=Poppins:wght@700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><script type=\"application\/ld+json\"><!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->  \"@context\": \"https:\/\/schema.org\",<!-- [et_pb_line_break_holder] -->  \"@type\": \"FAQPage\",<!-- [et_pb_line_break_holder] -->  \"mainEntity\": [<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"What is a read email API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"A read email API is an HTTP interface that lets your application authenticate against a user's existing mailbox (via OAuth 2.0 or IMAP credentials) and retrieve email messages programmatically. It is distinct from transactional email APIs like SendGrid or Mailgun, which send outbound email from a domain you control. Read email APIs operate on the user's own Gmail, Outlook, or IMAP account.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"Can I read someone's email with an API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"You can only read emails from accounts where the mailbox owner has explicitly granted your application access via OAuth 2.0 consent. The user must authorize your application on Google's or Microsoft's consent screen. You cannot access emails without the account owner's consent - attempting to do so would violate provider terms of service and applicable law.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"How do I read emails using the Gmail API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"To read emails with the Gmail API: create a Google Cloud project, enable the Gmail API, configure an OAuth 2.0 client, request the gmail.readonly scope, obtain an access token via the OAuth consent flow, then call GET https:\/\/gmail.googleapis.com\/gmail\/v1\/users\/me\/messages to list messages and GET \/users\/me\/messages\/{id}?format=full to fetch individual emails. Messages are returned as base64url-encoded MIME parts that you must decode.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"What is the difference between IMAP and the Gmail API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"The Gmail API is a modern REST API with OAuth 2.0, push notifications via Google Pub\/Sub, and JSON responses. IMAP is a universal TCP protocol supported by every email provider, using stateful connections and text commands. The Gmail API is more capable for Gmail-only use cases (real-time push, thread access, label management). IMAP provides universal coverage across all providers but requires polling or IDLE connections and has no native REST interface.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"Is there a free API to read emails?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Yes. The Gmail API is free within Google's quota limits (250 units\/sec\/user, 1 billion units\/day). Microsoft Graph for Outlook is free with throttling limits. IMAP is a free protocol. For multi-provider support, Unipile offers a 7-day free trial covering Gmail, Outlook, and IMAP linked accounts.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"How do I read emails from multiple providers with one API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Use a unified read email API like Unipile. Unipile exposes a single endpoint (GET \/api\/v1\/emails) that returns normalized JSON for Gmail, Outlook, and IMAP accounts alike. You authenticate users once via a hosted OAuth link, and Unipile handles the provider-specific OAuth flows, MIME parsing, and real-time webhook abstraction behind a single consistent interface.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"Can I read email attachments via API?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Yes. The Gmail API returns attachment metadata in the message payload and provides a separate endpoint to download attachment data by ID. Microsoft Graph returns attachments via \/messages\/{id}\/attachments. IMAP requires parsing the MIME tree to identify attachment parts and fetch them separately. With Unipile, attachment metadata is included in the email response and attachment content is available via a dedicated endpoint.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"How do I get notified when a new email arrives?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Each provider has a different mechanism: Gmail uses Google Pub\/Sub push subscriptions (expire every 7 days, require renewal). Microsoft Graph uses change notification subscriptions (expire after ~3 days). IMAP uses the IDLE command over a persistent TCP connection. Alternatively, Unipile abstracts all three into a single email.received webhook event that fires for Gmail, Outlook, and IMAP accounts with automatic subscription management.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"What is the rate limit for reading emails on Gmail and Outlook?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Gmail API: 250 quota units per user per second. Listing messages costs 5 units, fetching a full message costs 5 units. Daily cap is 1 billion quota units. Microsoft Graph: 10,000 requests per 10 minutes per application per tenant. Both return HTTP 429 responses when throttled, with a Retry-After header indicating when to retry. Implement exponential backoff with jitter for production reliability.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->      \"name\": \"Is reading user emails via API GDPR compliant?\",<!-- [et_pb_line_break_holder] -->      \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->        \"text\": \"Reading user emails via API can be GDPR compliant if implemented correctly. Requirements include: explicit user consent via OAuth (the consent screen fulfils the lawful basis requirement), a privacy policy documenting what email data you collect and retain, a data deletion mechanism for erasure requests, and appropriate data processing agreements if you use a third-party API layer. Using a certified platform like Unipile (SOC 2 Type II, GDPR) simplifies compliance documentation.\"<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  ]<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"unipile-rea-faq\" class=\"reaf-wrapper\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper {<!-- [et_pb_line_break_holder] -->  background: transparent !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper,<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper *,<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper *::before,<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper *::after {<!-- [et_pb_line_break_holder] -->  margin: 0 !important;<!-- [et_pb_line_break_holder] -->  padding: 0 !important;<!-- [et_pb_line_break_holder] -->  box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->  border: none !important;<!-- [et_pb_line_break_holder] -->  outline: none !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: normal !important;<!-- [et_pb_line_break_holder] -->  text-transform: none !important;<!-- [et_pb_line_break_holder] -->  text-decoration: none !important;<!-- [et_pb_line_break_holder] -->  list-style: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper { padding: 72px 20px 80px !important; background: transparent !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-wrap { max-width: 900px !important; margin: 0 auto !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-eyebrow {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  padding: 6px 14px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->  font-size: 12px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  text-transform: uppercase !important;<!-- [et_pb_line_break_holder] -->  letter-spacing: 0.5px !important;<!-- [et_pb_line_break_holder] -->  width: fit-content !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-dot {<!-- [et_pb_line_break_holder] -->  width: 7px !important;<!-- [et_pb_line_break_holder] -->  height: 7px !important;<!-- [et_pb_line_break_holder] -->  background: #3BB98B !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-h2 {<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 35px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.2 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 14px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-desc {<!-- [et_pb_line_break_holder] -->  font-size: 17px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-list {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  flex-direction: column !important;<!-- [et_pb_line_break_holder] -->  gap: 12px !important;<!-- [et_pb_line_break_holder] -->  margin-bottom: 36px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  transition: border-color 0.2s !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item.active { border-color: #3BB98B !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-question {<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 14px !important;<!-- [et_pb_line_break_holder] -->  padding: 20px 24px !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->  user-select: none !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-q-num {<!-- [et_pb_line_break_holder] -->  width: 38px !important;<!-- [et_pb_line_break_holder] -->  height: 38px !important;<!-- [et_pb_line_break_holder] -->  min-width: 38px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  color: #2aaa7e !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  font-family: 'Poppins', sans-serif !important;<!-- [et_pb_line_break_holder] -->  font-size: 13px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->  transition: background 0.2s, color 0.2s !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item.active .reaf-q-num { background: #3BB98B !important; color: #ffffff !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-q-text {<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  flex: 1 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.4 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-toggle {<!-- [et_pb_line_break_holder] -->  width: 24px !important;<!-- [et_pb_line_break_holder] -->  height: 24px !important;<!-- [et_pb_line_break_holder] -->  min-width: 24px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 50% !important;<!-- [et_pb_line_break_holder] -->  background: #f1f5f9 !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: center !important;<!-- [et_pb_line_break_holder] -->  transition: background 0.2s, transform 0.25s !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item.active .reaf-toggle {<!-- [et_pb_line_break_holder] -->  background: rgba(59,185,139,0.12) !important;<!-- [et_pb_line_break_holder] -->  transform: rotate(45deg) !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-toggle svg {<!-- [et_pb_line_break_holder] -->  width: 14px !important;<!-- [et_pb_line_break_holder] -->  height: 14px !important;<!-- [et_pb_line_break_holder] -->  stroke: #64748b !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item.active .reaf-toggle svg { stroke: #3BB98B !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-answer {<!-- [et_pb_line_break_holder] -->  max-height: 0 !important;<!-- [et_pb_line_break_holder] -->  overflow: hidden !important;<!-- [et_pb_line_break_holder] -->  transition: max-height 0.35s ease !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-item.active .reaf-answer { max-height: 600px !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-answer-inner {<!-- [et_pb_line_break_holder] -->  padding: 0 28px 28px 76px !important;<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.8 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-answer-inner a { color: #2aaa7e !important; text-decoration: underline !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-answer-inner strong { color: #0f2736 !important; font-weight: 700 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-bar {<!-- [et_pb_line_break_holder] -->  background: #ffffff !important;<!-- [et_pb_line_break_holder] -->  border: 1px solid #e5e7eb !important;<!-- [et_pb_line_break_holder] -->  border-radius: 16px !important;<!-- [et_pb_line_break_holder] -->  padding: 24px 28px !important;<!-- [et_pb_line_break_holder] -->  display: flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  justify-content: space-between !important;<!-- [et_pb_line_break_holder] -->  gap: 20px !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-text {<!-- [et_pb_line_break_holder] -->  font-size: 15px !important;<!-- [et_pb_line_break_holder] -->  color: #383838 !important;<!-- [et_pb_line_break_holder] -->  line-height: 1.6 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-text strong { color: #0f2736 !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-btn {<!-- [et_pb_line_break_holder] -->  display: inline-flex !important;<!-- [et_pb_line_break_holder] -->  align-items: center !important;<!-- [et_pb_line_break_holder] -->  gap: 8px !important;<!-- [et_pb_line_break_holder] -->  background: #DDDF4C !important;<!-- [et_pb_line_break_holder] -->  color: #0f2736 !important;<!-- [et_pb_line_break_holder] -->  padding: 12px 22px !important;<!-- [et_pb_line_break_holder] -->  border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->  font-size: 0.9rem !important;<!-- [et_pb_line_break_holder] -->  font-weight: 600 !important;<!-- [et_pb_line_break_holder] -->  cursor: pointer !important;<!-- [et_pb_line_break_holder] -->  white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->  transition: transform 0.3s ease !important;<!-- [et_pb_line_break_holder] -->  flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-btn:hover { transform: translateY(-5px) !important; }<!-- [et_pb_line_break_holder] -->#unipile-rea-faq.reaf-wrapper .reaf-cta-btn svg {<!-- [et_pb_line_break_holder] -->  width: 15px !important;<!-- [et_pb_line_break_holder] -->  height: 15px !important;<!-- [et_pb_line_break_holder] -->  stroke: currentColor !important;<!-- [et_pb_line_break_holder] -->  fill: none !important;<!-- [et_pb_line_break_holder] -->  stroke-width: 2.5 !important;<!-- [et_pb_line_break_holder] -->  stroke-linecap: round !important;<!-- [et_pb_line_break_holder] -->  stroke-linejoin: round !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 900px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper { padding: 50px 20px 60px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper .reaf-h2 { font-size: 28px !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper { padding: 40px 16px 50px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper .reaf-h2 { font-size: 26px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper .reaf-answer-inner { padding: 0 16px 24px 16px !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper .reaf-cta-bar { flex-direction: column !important; align-items: flex-start !important; }<!-- [et_pb_line_break_holder] -->  #unipile-rea-faq.reaf-wrapper .reaf-cta-btn { width: 100% !important; justify-content: center !important; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"reaf-wrap\"><!-- [et_pb_line_break_holder] -->  <span id=\"rea-faq\"><\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaf-eyebrow\"><span class=\"reaf-dot\"><\/span><span>FAQ<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h2 class=\"reaf-h2\">Read Email API &#8211; Frequently Asked Questions<\/h2>\n<p><!-- [et_pb_line_break_holder] -->  <pee class=\"reaf-desc\">The most common questions from developers building their first read email API integration.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaf-list\" id=\"reaf-list\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>01<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">What is a read email API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">A <strong>read email API<\/strong> is an HTTP interface that lets your application authenticate against a user&#8217;s existing mailbox (via OAuth 2.0 or IMAP credentials) and retrieve email messages programmatically. It is distinct from transactional email APIs like SendGrid or Mailgun, which send outbound email from a domain you control. Read email APIs operate on the user&#8217;s own Gmail, Outlook, or IMAP account. See the <a href=\"https:\/\/www.unipile.com\/email-api-providers\/\">full comparison of email API providers<\/a> for context on the broader ecosystem.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>02<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">Can I read someone&#8217;s email with an API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">You can only read emails from accounts where the mailbox owner has explicitly granted your application access via OAuth 2.0 consent. The user must authorize your application on Google&#8217;s or Microsoft&#8217;s consent screen. You cannot access emails without the account owner&#8217;s consent &#8211; attempting to do so violates provider terms of service and applicable law in most jurisdictions.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>03<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">How do I read emails using the Gmail API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">To read emails with the Gmail API: create a Google Cloud project, enable the Gmail API, configure an OAuth 2.0 client, request the <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">gmail.readonly<\/code> scope, obtain an access token via OAuth consent, then call <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">GET \/gmail\/v1\/users\/me\/messages<\/code> to list messages and <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">GET \/users\/me\/messages\/{id}?format=full<\/code> to fetch individual emails. Messages are returned as base64url-encoded MIME parts that you must decode.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>04<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">What is the difference between IMAP and the Gmail API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">The Gmail API is a modern REST API with OAuth 2.0, push notifications via Google Pub\/Sub, and JSON responses. IMAP is a universal TCP protocol supported by every email provider, using stateful connections and text commands. The Gmail API is more capable for Gmail-only use cases (real-time push, thread access, label management). IMAP provides universal coverage across all providers but requires polling or IDLE connections and has no native REST interface. Read our <a href=\"https:\/\/www.unipile.com\/the-developers-guide-to-imap-api-solution\/\">IMAP API integration guide<\/a> for a deeper comparison.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>05<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">Is there a free API to read emails?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">Yes. The Gmail API is free within Google&#8217;s quota limits (250 units\/sec\/user, 1 billion units\/day). Microsoft Graph for Outlook is free with throttling limits. IMAP is a free open protocol. For multi-provider support, Unipile offers a 7-day free trial covering Gmail, Outlook, and IMAP linked accounts. See our <a href=\"https:\/\/www.unipile.com\/free-email-api\/\">free email API guide<\/a> for a full comparison of free tiers and their real-world limits.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>06<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">How do I read emails from multiple providers with one API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">Use a unified read email API like Unipile. Unipile exposes a single endpoint (<code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">GET \/api\/v1\/emails<\/code>) that returns normalized JSON for Gmail, Outlook, and IMAP accounts alike. You authenticate users once via a hosted OAuth link, and Unipile handles the provider-specific OAuth flows, MIME parsing, and real-time webhook abstraction behind a single consistent interface. See our <a href=\"https:\/\/www.unipile.com\/email-api-guide\/\">Email API Guide<\/a> for the complete reference.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>07<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">Can I read email attachments via API?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">Yes. The Gmail API returns attachment metadata in the message payload and provides a separate endpoint to download attachment data by ID. Microsoft Graph returns attachments via <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">\/messages\/{id}\/attachments<\/code>. IMAP requires parsing the MIME tree to identify attachment parts. With Unipile, attachment metadata (filename, size, MIME type) is included in the email response and attachment content is available via a dedicated endpoint &#8211; no MIME parsing required.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>08<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">How do I get notified when a new email arrives?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">Each provider has a different mechanism: Gmail uses Google Pub\/Sub push subscriptions (expire every 7 days, require renewal). Microsoft Graph uses change notification subscriptions (expire after ~3 days). IMAP uses the IDLE command over a persistent TCP connection. Alternatively, Unipile abstracts all three into a single <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">email.received<\/code> webhook event that fires for Gmail, Outlook, and IMAP accounts with automatic subscription management handled internally.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>09<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">What are the rate limits for reading emails on Gmail and Outlook?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\"><strong>Gmail API:<\/strong> 250 quota units per user per second. Listing messages costs 5 units, fetching a full message costs 5 units. Daily cap is 1 billion quota units. <strong>Microsoft Graph:<\/strong> 10,000 requests per 10 minutes per application per tenant. Both return HTTP 429 when throttled, with a <code style=\"background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;\">Retry-After<\/code> header. Implement exponential backoff with jitter for production reliability. IMAP limits are provider-specific, typically 10-20 concurrent connections per account.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"reaf-item\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-question\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-num\"><span>10<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-q-text\">Is reading user emails via API GDPR compliant?<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-toggle\"><svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"reaf-answer\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"reaf-answer-inner\">Reading user emails via API can be GDPR compliant when implemented correctly. Requirements include: explicit user consent via OAuth (the consent screen fulfils the lawful basis requirement), a privacy policy documenting what email data you collect and retain, a data deletion mechanism for erasure requests, and a data processing agreement with any third-party API layer you use. <strong>Unipile is SOC 2 Type II certified and GDPR compliant<\/strong>, simplifying the compliance documentation for products built on the platform.<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"reaf-cta-bar\"><!-- [et_pb_line_break_holder] -->    <pee class=\"reaf-cta-text\"><strong>Still have questions?<\/strong> Talk to a developer who has shipped read email API integrations across Gmail, Outlook, and IMAP at scale.<\/pee><!-- [et_pb_line_break_holder] -->    <span class=\"reaf-cta-btn\" onclick=\"if(window.$crisp){$crisp.push(['do','chat:open'])}\"><!-- [et_pb_line_break_holder] -->      <svg viewBox=\"0 0 24 24\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\/><\/svg><!-- [et_pb_line_break_holder] -->      <span>Talk to an expert<\/span><!-- [et_pb_line_break_holder] -->    <\/span><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] -->  function initReafFaq(){<!-- [et_pb_line_break_holder] -->    var list = document.getElementById('reaf-list');<!-- [et_pb_line_break_holder] -->    if(!list) return;<!-- [et_pb_line_break_holder] -->    var items = list.querySelectorAll('.reaf-item');<!-- [et_pb_line_break_holder] -->    items.forEach(function(item){<!-- [et_pb_line_break_holder] -->      var q = item.querySelector('.reaf-question');<!-- [et_pb_line_break_holder] -->      if(!q) return;<!-- [et_pb_line_break_holder] -->      q.addEventListener('click', function(){<!-- [et_pb_line_break_holder] -->        var isActive = item.classList.contains('active');<!-- [et_pb_line_break_holder] -->        items.forEach(function(i){ i.classList.remove('active'); });<!-- [et_pb_line_break_holder] -->        if(!isActive){ item.classList.add('active'); }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  if(document.readyState === 'loading'){<!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', initReafFaq);<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    initReafFaq();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Provider Deep Dive Native APIs for Reading Emails: Gmail, Outlook, and IMAP Each major email provider exposes its own read API with different endpoints, authentication models, and capabilities. Here is what each looks like in practice. Gmail API OAuth 2.0 The Gmail API is a REST API built on top of Google&#8217;s infrastructure. It uses [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":278755,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[69],"tags":[],"post_folder":[],"class_list":["post-278699","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-guidelines"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Read Emails via API: A Developer&#039;s Guide to Inbox Access (2026) - Unipile<\/title>\n<meta name=\"description\" content=\"Build apps that read user emails via API. Compare Gmail API, Microsoft Graph, IMAP, and unified options. Code examples in Node.js, Python, and cURL.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.unipile.com\/it\/leggi-email-api\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Read Emails via API: A Developer&#039;s Guide to Inbox Access (2026) - Unipile\" \/>\n<meta property=\"og:description\" content=\"Build apps that read user emails via API. Compare Gmail API, Microsoft Graph, IMAP, and unified options. Code examples in Node.js, Python, and cURL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.unipile.com\/it\/leggi-email-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Unipile\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/unipilefr\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-04T13:38:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-06T12:52:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Damien Girardeau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:site\" content=\"@UnipileAPI\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Damien Girardeau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/\"},\"author\":{\"name\":\"Damien Girardeau\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\"},\"headline\":\"How to Read Emails via API: A Developer&#8217;s Guide to Inbox Access (2026)\",\"datePublished\":\"2026-05-04T13:38:12+00:00\",\"dateModified\":\"2026-05-06T12:52:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/\"},\"wordCount\":6262,\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/em-16-read-email.png\",\"articleSection\":[\"API Guidelines\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/\",\"name\":\"How to Read Emails via API: A Developer's Guide to Inbox Access (2026) - Unipile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/em-16-read-email.png\",\"datePublished\":\"2026-05-04T13:38:12+00:00\",\"dateModified\":\"2026-05-06T12:52:24+00:00\",\"description\":\"Build apps that read user emails via API. Compare Gmail API, Microsoft Graph, IMAP, and unified options. Code examples in Node.js, Python, and cURL.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/em-16-read-email.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/em-16-read-email.png\",\"width\":2400,\"height\":1600,\"caption\":\"Read incoming emails from Gmail, Outlook and IMAP via one unified Unipile endpoint\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/read-email-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.unipile.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Read Emails via API: A Developer&#8217;s Guide to Inbox Access (2026)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#website\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"name\":\"Unipile\",\"description\":\"Integrate Messaging &amp; Email, Connect with Ease via API\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.unipile.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#organization\",\"name\":\"Unipile\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"contentUrl\":\"https:\\\/\\\/www.unipile.com\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/logo-unipile.png\",\"width\":200,\"height\":49,\"caption\":\"Unipile\"},\"image\":{\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/unipilefr\",\"https:\\\/\\\/x.com\\\/UnipileAPI\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/unipile\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.unipile.com\\\/#\\\/schema\\\/person\\\/a2ac44e22bdc27d497ce8b58716a673e\",\"name\":\"Damien Girardeau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g\",\"caption\":\"Damien Girardeau\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come leggere le email tramite API: una guida per sviluppatori per l'accesso alla casella di posta (2026) - Unipile","description":"Crea app che leggono le email degli utenti tramite API. Confronta Gmail API, Microsoft Graph, IMAP e opzioni unificate. Esempi di codice in Node.js, Python e cURL.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.unipile.com\/it\/leggi-email-api\/","og_locale":"it_IT","og_type":"article","og_title":"How to Read Emails via API: A Developer's Guide to Inbox Access (2026) - Unipile","og_description":"Build apps that read user emails via API. Compare Gmail API, Microsoft Graph, IMAP, and unified options. Code examples in Node.js, Python, and cURL.","og_url":"https:\/\/www.unipile.com\/it\/leggi-email-api\/","og_site_name":"Unipile","article_publisher":"https:\/\/www.facebook.com\/unipilefr","article_published_time":"2026-05-04T13:38:12+00:00","article_modified_time":"2026-05-06T12:52:24+00:00","og_image":[{"width":2400,"height":1600,"url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png","type":"image\/png"}],"author":"Damien Girardeau","twitter_card":"summary_large_image","twitter_creator":"@UnipileAPI","twitter_site":"@UnipileAPI","twitter_misc":{"Scritto da":"Damien Girardeau","Tempo di lettura stimato":"21 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.unipile.com\/read-email-api\/#article","isPartOf":{"@id":"https:\/\/www.unipile.com\/read-email-api\/"},"author":{"name":"Damien Girardeau","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e"},"headline":"How to Read Emails via API: A Developer&#8217;s Guide to Inbox Access (2026)","datePublished":"2026-05-04T13:38:12+00:00","dateModified":"2026-05-06T12:52:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.unipile.com\/read-email-api\/"},"wordCount":6262,"publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"image":{"@id":"https:\/\/www.unipile.com\/read-email-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png","articleSection":["API Guidelines"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.unipile.com\/read-email-api\/","url":"https:\/\/www.unipile.com\/read-email-api\/","name":"Come leggere le email tramite API: una guida per sviluppatori per l'accesso alla casella di posta (2026) - Unipile","isPartOf":{"@id":"https:\/\/www.unipile.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.unipile.com\/read-email-api\/#primaryimage"},"image":{"@id":"https:\/\/www.unipile.com\/read-email-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png","datePublished":"2026-05-04T13:38:12+00:00","dateModified":"2026-05-06T12:52:24+00:00","description":"Crea app che leggono le email degli utenti tramite API. Confronta Gmail API, Microsoft Graph, IMAP e opzioni unificate. Esempi di codice in Node.js, Python e cURL.","breadcrumb":{"@id":"https:\/\/www.unipile.com\/read-email-api\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.unipile.com\/read-email-api\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.unipile.com\/read-email-api\/#primaryimage","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2026\/05\/em-16-read-email.png","width":2400,"height":1600,"caption":"Read incoming emails from Gmail, Outlook and IMAP via one unified Unipile endpoint"},{"@type":"BreadcrumbList","@id":"https:\/\/www.unipile.com\/read-email-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.unipile.com\/"},{"@type":"ListItem","position":2,"name":"How to Read Emails via API: A Developer&#8217;s Guide to Inbox Access (2026)"}]},{"@type":"WebSite","@id":"https:\/\/www.unipile.com\/#website","url":"https:\/\/www.unipile.com\/","name":"Unipile","description":"Integrazione di messaggistica ed e-mail, connessione semplice tramite API","publisher":{"@id":"https:\/\/www.unipile.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.unipile.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.unipile.com\/#organization","name":"Unipile","url":"https:\/\/www.unipile.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","contentUrl":"https:\/\/www.unipile.com\/wp-content\/uploads\/2021\/05\/logo-unipile.png","width":200,"height":49,"caption":"Unipile"},"image":{"@id":"https:\/\/www.unipile.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/unipilefr","https:\/\/x.com\/UnipileAPI","https:\/\/www.linkedin.com\/company\/unipile\/"]},{"@type":"Person","@id":"https:\/\/www.unipile.com\/#\/schema\/person\/a2ac44e22bdc27d497ce8b58716a673e","name":"Damien Girardeau","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/12dd140720736a8db29f540c42a17d2680cd54a04fb26bb7b55423c179b065a9?s=96&d=mm&r=g","caption":"Damien Girardeau"}}]}},"_links":{"self":[{"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/posts\/278699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/comments?post=278699"}],"version-history":[{"count":15,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/posts\/278699\/revisions"}],"predecessor-version":[{"id":278745,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/posts\/278699\/revisions\/278745"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/media\/278755"}],"wp:attachment":[{"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/media?parent=278699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/categories?post=278699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/tags?post=278699"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/www.unipile.com\/it\/wp-json\/wp\/v2\/post_folder?post=278699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}