{"id":1791,"date":"2026-07-19T13:00:00","date_gmt":"2026-07-19T18:00:00","guid":{"rendered":"https:\/\/tolinku.com\/blog\/?p=1791"},"modified":"2026-03-07T03:37:21","modified_gmt":"2026-03-07T08:37:21","slug":"analytics-data-export","status":"publish","type":"post","link":"https:\/\/tolinku.com\/blog\/analytics-data-export\/","title":{"rendered":"Exporting Deep Link Analytics Data"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Built-in dashboards show you what happened. Exported data lets you figure out why. When you need to join deep link clicks with revenue data, run custom cohort models, or feed analytics into a BI tool, you need the raw data outside the platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers how to export deep link analytics data. For API-based integration, see <a href=\"https:\/\/tolinku.com\/blog\/analytics-api-integration\/\">analytics API integration for deep links<\/a>. For understanding which metrics matter, see <a href=\"https:\/\/tolinku.com\/blog\/deep-link-analytics-measuring-what-matters\/\">deep link analytics: measuring what matters<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" src=\"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/screenshot-analytics-1772819420927.png\" alt=\"Tolinku analytics dashboard showing click metrics and conversion funnel\">\n<em>The analytics dashboard with date range selector, filters, charts, and breakdowns.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Data to Export<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Click-Level Data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Each deep link click generates a record with these fields:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Field<\/th>\n<th>Description<\/th>\n<th>Example<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td><code>click_id<\/code><\/td>\n<td>Unique identifier<\/td>\n<td><code>clk_a1b2c3d4<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>timestamp<\/code><\/td>\n<td>When the click occurred<\/td>\n<td><code>2026-07-19T14:32:00Z<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>route<\/code><\/td>\n<td>The deep link route<\/td>\n<td><code>\/products\/summer-sale<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>source<\/code><\/td>\n<td>Traffic source<\/td>\n<td><code>email<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>medium<\/code><\/td>\n<td>Marketing medium<\/td>\n<td><code>newsletter<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>campaign<\/code><\/td>\n<td>Campaign name<\/td>\n<td><code>july-promo<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>platform<\/code><\/td>\n<td>User&#39;s platform<\/td>\n<td><code>ios<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>os_version<\/code><\/td>\n<td>Operating system version<\/td>\n<td><code>18.2<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>browser<\/code><\/td>\n<td>Browser or app<\/td>\n<td><code>Safari<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>country<\/code><\/td>\n<td>Country from IP geolocation<\/td>\n<td><code>US<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>city<\/code><\/td>\n<td>City from IP geolocation<\/td>\n<td><code>San Francisco<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>outcome<\/code><\/td>\n<td>What happened<\/td>\n<td><code>app_opened<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>latency_ms<\/code><\/td>\n<td>Time to resolve<\/td>\n<td><code>280<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>referrer<\/code><\/td>\n<td>HTTP referrer<\/td>\n<td><code>https:\/\/mail.google.com<\/code><\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Aggregated Data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For large-scale analysis, aggregated exports reduce file size:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Aggregation<\/th>\n<th>Use Case<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>By campaign + day<\/td>\n<td>Campaign performance trends<\/td>\n<\/tr>\n<tr>\n<td>By route + source<\/td>\n<td>Which sources drive which content<\/td>\n<\/tr>\n<tr>\n<td>By platform + country<\/td>\n<td>Geographic and device segmentation<\/td>\n<\/tr>\n<tr>\n<td>By hour of day<\/td>\n<td>Timing optimization<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">CSV Export<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Manual Export<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Most analytics platforms support CSV export from the dashboard. The export typically includes all visible columns plus any applied filters.<\/p>\n\n\n\n<pre><code>click_id,timestamp,route,source,medium,campaign,platform,country,outcome,latency_ms\nclk_a1b2c3d4,2026-07-19T14:32:00Z,\/products\/summer-sale,email,newsletter,july-promo,ios,US,app_opened,280\nclk_e5f6g7h8,2026-07-19T14:33:12Z,\/offers\/clearance,push,,retention-week2,android,UK,app_opened,350\nclk_i9j0k1l2,2026-07-19T14:35:45Z,\/products\/summer-sale,social,organic,,ios,DE,fallback,420\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Scheduled CSV Export<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Automate exports on a schedule:<\/p>\n\n\n\n<pre><code class=\"language-typescript\">interface ExportConfig {\n  schedule: &#39;daily&#39; | &#39;weekly&#39; | &#39;monthly&#39;;\n  format: &#39;csv&#39; | &#39;json&#39; | &#39;parquet&#39;;\n  destination: &#39;email&#39; | &#39;s3&#39; | &#39;gcs&#39; | &#39;sftp&#39;;\n  filters: {\n    campaigns?: string[];\n    routes?: string[];\n    platforms?: string[];\n    dateRange?: { start: string; end: string };\n  };\n  columns: string[];\n}\n\nconst dailyExport: ExportConfig = {\n  schedule: &#39;daily&#39;,\n  format: &#39;csv&#39;,\n  destination: &#39;s3&#39;,\n  filters: {\n    dateRange: { start: &#39;yesterday&#39;, end: &#39;yesterday&#39; }\n  },\n  columns: [\n    &#39;click_id&#39;, &#39;timestamp&#39;, &#39;route&#39;, &#39;source&#39;,\n    &#39;medium&#39;, &#39;campaign&#39;, &#39;platform&#39;, &#39;country&#39;,\n    &#39;outcome&#39;, &#39;latency_ms&#39;\n  ]\n};\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">CSV Pitfalls<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Large files.<\/strong> A million clicks per day produces CSV files over 100MB. Use date-range filters or switch to Parquet format for large datasets.<\/li>\n<li><strong>Encoding.<\/strong> Ensure UTF-8 encoding, especially if campaign names or city names contain non-ASCII characters.<\/li>\n<li><strong>Escaping.<\/strong> URLs in fields may contain commas. Use proper CSV quoting (RFC 4180).<\/li>\n<li><strong>Timezone.<\/strong> Export timestamps in UTC. Convert to local time in your analysis tool, not in the export.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">API Export<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">REST API Queries<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Query analytics data programmatically for integration with custom tools:<\/p>\n\n\n\n<pre><code class=\"language-typescript\">async function fetchAnalytics(\n  dateRange: { start: string; end: string },\n  filters: Record&lt;string, string&gt;\n): Promise&lt;ClickData[]&gt; {\n  const params = new URLSearchParams({\n    start: dateRange.start,\n    end: dateRange.end,\n    ...filters\n  });\n\n  const response = await fetch(\n    `https:\/\/api.example.com\/v1\/analytics\/clicks?${params}`,\n    {\n      headers: {\n        &#39;Authorization&#39;: `Bearer ${API_KEY}`,\n        &#39;Accept&#39;: &#39;application\/json&#39;\n      }\n    }\n  );\n\n  return response.json();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Pagination<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Analytics APIs return paginated results. Handle pagination to get complete datasets:<\/p>\n\n\n\n<pre><code class=\"language-typescript\">async function fetchAllPages(\n  endpoint: string,\n  params: Record&lt;string, string&gt;\n): Promise&lt;any[]&gt; {\n  const allResults: any[] = [];\n  let cursor: string | null = null;\n\n  do {\n    const queryParams = new URLSearchParams({\n      ...params,\n      limit: &#39;1000&#39;,\n      ...(cursor ? { cursor } : {})\n    });\n\n    const response = await fetch(`${endpoint}?${queryParams}`, {\n      headers: { &#39;Authorization&#39;: `Bearer ${API_KEY}` }\n    });\n\n    const data = await response.json();\n    allResults.push(...data.results);\n    cursor = data.next_cursor;\n  } while (cursor);\n\n  return allResults;\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Rate Limiting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Analytics APIs enforce rate limits to protect the service. Plan your exports accordingly:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Approach<\/th>\n<th>Rate Limit Impact<\/th>\n<th>Best For<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>Real-time queries<\/td>\n<td>High (many small requests)<\/td>\n<td>Dashboards, alerts<\/td>\n<\/tr>\n<tr>\n<td>Batch export (daily)<\/td>\n<td>Low (one large request)<\/td>\n<td>Reporting, data warehouse<\/td>\n<\/tr>\n<tr>\n<td>Streaming (webhooks)<\/td>\n<td>None (push-based)<\/td>\n<td>Real-time processing<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Webhook Export<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Event-Driven Export<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of pulling data, have the analytics platform push events to your endpoint:<\/p>\n\n\n\n<pre><code class=\"language-typescript\">\/\/ Webhook receiver\napp.post(&#39;\/webhooks\/deep-link-clicks&#39;, (req, res) =&gt; {\n  const event = req.body;\n\n  \/\/ Validate webhook signature\n  const signature = req.headers[&#39;x-webhook-signature&#39;];\n  if (!verifySignature(event, signature, WEBHOOK_SECRET)) {\n    return res.status(401).json({ error: &#39;Invalid signature&#39; });\n  }\n\n  \/\/ Process the event\n  switch (event.type) {\n    case &#39;click&#39;:\n      processClick(event.data);\n      break;\n    case &#39;conversion&#39;:\n      processConversion(event.data);\n      break;\n    case &#39;install&#39;:\n      processInstall(event.data);\n      break;\n  }\n\n  res.status(200).json({ received: true });\n});\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Webhook vs Batch Export<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Factor<\/th>\n<th>Webhooks<\/th>\n<th>Batch Export<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>Latency<\/td>\n<td>Real-time (seconds)<\/td>\n<td>Delayed (hours)<\/td>\n<\/tr>\n<tr>\n<td>Completeness<\/td>\n<td>May miss events if endpoint is down<\/td>\n<td>Complete dataset<\/td>\n<\/tr>\n<tr>\n<td>Ordering<\/td>\n<td>Events may arrive out of order<\/td>\n<td>Ordered by timestamp<\/td>\n<\/tr>\n<tr>\n<td>Volume handling<\/td>\n<td>Must handle bursts<\/td>\n<td>Process at your pace<\/td>\n<\/tr>\n<tr>\n<td>Backfill<\/td>\n<td>Not supported<\/td>\n<td>Re-export any date range<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Use webhooks for real-time reactions (fraud detection, instant notifications). Use batch export for analytics and reporting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Data Warehouse Integration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Loading into a Data Warehouse<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once exported, load the data into your warehouse for joining with other business data:<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- BigQuery: Load from GCS\nLOAD DATA INTO analytics.deep_link_clicks\nFROM FILES (\n  format = &#39;CSV&#39;,\n  uris = [&#39;gs:\/\/analytics-bucket\/deep-link-clicks\/2026-07-19.csv&#39;]\n);\n\n-- Snowflake: Load from S3\nCOPY INTO analytics.deep_link_clicks\nFROM @s3_stage\/deep-link-clicks\/2026-07-19.csv\nFILE_FORMAT = (TYPE = &#39;CSV&#39; FIELD_DELIMITER = &#39;,&#39; SKIP_HEADER = 1);\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Joining with Business Data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The real value of exported analytics is joining deep link data with business data:<\/p>\n\n\n\n<pre><code class=\"language-sql\">-- Join deep link clicks with revenue data\nSELECT\n  dlc.campaign,\n  dlc.source,\n  COUNT(DISTINCT dlc.click_id) AS clicks,\n  COUNT(DISTINCT o.order_id) AS orders,\n  SUM(o.revenue) AS total_revenue,\n  ROUND(SUM(o.revenue) \/ COUNT(DISTINCT dlc.click_id), 2) AS revenue_per_click\nFROM deep_link_clicks dlc\nLEFT JOIN orders o\n  ON dlc.user_id = o.user_id\n  AND o.order_date BETWEEN dlc.timestamp AND dlc.timestamp + INTERVAL &#39;7 days&#39;\nWHERE dlc.timestamp &gt;= &#39;2026-07-01&#39;\nGROUP BY dlc.campaign, dlc.source\nORDER BY total_revenue DESC;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Schema Design<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Design your analytics tables for query performance:<\/p>\n\n\n\n<pre><code class=\"language-sql\">CREATE TABLE deep_link_clicks (\n  click_id VARCHAR(32) PRIMARY KEY,\n  timestamp TIMESTAMP NOT NULL,\n  route VARCHAR(256),\n  source VARCHAR(64),\n  medium VARCHAR(64),\n  campaign VARCHAR(128),\n  platform VARCHAR(16),\n  os_version VARCHAR(16),\n  browser VARCHAR(64),\n  country CHAR(2),\n  city VARCHAR(128),\n  outcome VARCHAR(32),\n  latency_ms INTEGER,\n  referrer VARCHAR(512),\n  user_id VARCHAR(64),\n  -- Partition by date for query performance\n  date DATE GENERATED ALWAYS AS (CAST(timestamp AS DATE))\n);\n\n-- Index for common query patterns\nCREATE INDEX idx_clicks_campaign_date ON deep_link_clicks (campaign, date);\nCREATE INDEX idx_clicks_route_date ON deep_link_clicks (route, date);\nCREATE INDEX idx_clicks_platform_country ON deep_link_clicks (platform, country);\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Export Formats<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">CSV vs JSON vs Parquet<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Format<\/th>\n<th>Size (1M rows)<\/th>\n<th>Read Speed<\/th>\n<th>Schema<\/th>\n<th>Human Readable<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>CSV<\/td>\n<td>~150MB<\/td>\n<td>Slow<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>JSON<\/td>\n<td>~300MB<\/td>\n<td>Medium<\/td>\n<td>Partial<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Parquet<\/td>\n<td>~30MB<\/td>\n<td>Fast<\/td>\n<td>Yes<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CSV:<\/strong> Universal compatibility. Good for small exports and Excel\/Google Sheets analysis.<\/li>\n<li><strong>JSON:<\/strong> Good for nested data (event properties, custom attributes). Larger file size.<\/li>\n<li><strong>Parquet:<\/strong> Best for large datasets. Columnar format, compressed, typed. Use for data warehouse loading.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Automation Patterns<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Daily ETL Pipeline<\/h3>\n\n\n\n<pre><code class=\"language-typescript\">async function dailyETL() {\n  const yesterday = getYesterday();\n\n  \/\/ 1. Export from analytics platform\n  const data = await fetchAnalytics({\n    start: yesterday,\n    end: yesterday\n  }, {});\n\n  \/\/ 2. Transform\n  const transformed = data.map(row =&gt; ({\n    ...row,\n    date: row.timestamp.split(&#39;T&#39;)[0],\n    hour: new Date(row.timestamp).getUTCHours(),\n    is_app_open: row.outcome === &#39;app_opened&#39; ? 1 : 0,\n    is_conversion: row.outcome === &#39;converted&#39; ? 1 : 0\n  }));\n\n  \/\/ 3. Load into warehouse\n  await loadToWarehouse(&#39;deep_link_clicks&#39;, transformed);\n\n  \/\/ 4. Refresh materialized views\n  await refreshViews([\n    &#39;daily_campaign_summary&#39;,\n    &#39;weekly_route_performance&#39;,\n    &#39;monthly_platform_breakdown&#39;\n  ]);\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Data Validation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Validate exported data before loading:<\/p>\n\n\n\n<pre><code class=\"language-typescript\">function validateExport(data: ClickData[]): ValidationResult {\n  const errors: string[] = [];\n\n  \/\/ Check for required fields\n  const missing = data.filter(row =&gt;\n    !row.click_id || !row.timestamp || !row.outcome\n  );\n  if (missing.length &gt; 0) {\n    errors.push(`${missing.length} rows missing required fields`);\n  }\n\n  \/\/ Check for duplicate click IDs\n  const ids = new Set&lt;string&gt;();\n  const dupes = data.filter(row =&gt; {\n    if (ids.has(row.click_id)) return true;\n    ids.add(row.click_id);\n    return false;\n  });\n  if (dupes.length &gt; 0) {\n    errors.push(`${dupes.length} duplicate click IDs`);\n  }\n\n  \/\/ Check timestamp range\n  const outOfRange = data.filter(row =&gt; {\n    const ts = new Date(row.timestamp);\n    return ts &gt; new Date() || ts &lt; new Date(&#39;2020-01-01&#39;);\n  });\n  if (outOfRange.length &gt; 0) {\n    errors.push(`${outOfRange.length} rows with invalid timestamps`);\n  }\n\n  return {\n    valid: errors.length === 0,\n    errors,\n    rowCount: data.length,\n    dateRange: {\n      min: data.reduce((min, r) =&gt; r.timestamp &lt; min ? r.timestamp : min, data[0]?.timestamp),\n      max: data.reduce((max, r) =&gt; r.timestamp &gt; max ? r.timestamp : max, data[0]?.timestamp)\n    }\n  };\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tolinku for Data Export<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tolinku.com\/features\/analytics\">Tolinku&#39;s analytics<\/a> support data export through the dashboard and the <a href=\"https:\/\/tolinku.com\/docs\/developer\/api-reference\/analytics\/\">analytics API<\/a>. Export click data, campaign metrics, and conversion events. See the <a href=\"https:\/\/tolinku.com\/docs\/user-guide\/analytics\/exporting\/\">export documentation<\/a> for available formats and filters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For API-based analytics integration, see <a href=\"https:\/\/tolinku.com\/blog\/analytics-api-integration\/\">analytics API integration for deep links<\/a>. For campaign reporting, see <a href=\"https:\/\/tolinku.com\/blog\/campaign-performance-reports\/\">campaign performance reports for deep links<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Export deep link analytics for custom analysis. Use CSV exports, API endpoints, and webhook integrations to get data into your data warehouse.<\/p>\n","protected":false},"author":2,"featured_media":1790,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Exporting Deep Link Analytics Data for Custom Analysis","rank_math_description":"Export deep link analytics for custom analysis. Use CSV exports, API endpoints, and webhook integrations to get data into your data warehouse.","rank_math_focus_keyword":"export analytics data","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-analytics-data-export.png","rank_math_facebook_image_id":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-analytics-data-export.png","footnotes":""},"categories":[14],"tags":[37,62,165,543,542,544,20,345],"class_list":["post-1791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-analytics","tag-api","tag-automation","tag-csv","tag-data-export","tag-data-warehouse","tag-deep-linking","tag-reporting"],"_links":{"self":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/comments?post=1791"}],"version-history":[{"count":2,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1791\/revisions"}],"predecessor-version":[{"id":2416,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1791\/revisions\/2416"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media\/1790"}],"wp:attachment":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media?parent=1791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/categories?post=1791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/tags?post=1791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}