This documentation page assumes that you already have a SeekTable account. Create your free account by signing up.

Embed your report into website publish to web

With Share → Get Link function you can easily publish the report to web and share it with a public link. This link also may be used for embedding purposes: you can embed published reports into other web pages with IFRAME and even compose custom dashboards by placing several iFrames on one page. A public link is also suitable for inclusion into Medium articles and sharing in social medias like Facebook or Twitter.

To access embedded report users don't need to have SeekTable account; this means that the report you publish can be viewed by anyone on the Internet who knows the link.

Embedded reports update as the underlying data changes, or when you change them in your SeekTable account. Caching notes:

  • on cloud SeekTable published reports are cached for 15 minutes (except accounts with advanced publishing subscription)
  • on self-hosted SeekTable published reports are not cached by default. You can use NGINX to configure caching of published content as you need.
Looking for a secure reports embed? This is fully supported in a self-hosted/dedicated SeekTable, including built-in dashboards.

Embed the report with an iframe

  1. Go to the report you want to publish and get its public link (menu "Share"→"Get Link"). If you don't see "Get Link" item please ensure that you saved the report.
  2. Insert into your web page iframe HTML element:
    <iframe border="0" frameborder="0" 
    In src attribute specify your link of the published report; with width and height specify desired report size. IFRAME size may be responsive - say, you may specify width="100%" or change iframe size with javascript on-the-fly.
  3. As result you should get something like that (this is a report from

    If you want to hide report name this is possible with adding show_report_name=false parameter to the report public URL (this option works only when report is embedded with IFRAME).

You can easily organize dashboards by embedding several reports on one web page; for example take a look to this dashboard with a common filter that affects all embedded reports.

Embed using oEmbed

SeekTable supports oEmbed for published report links:

You can copy-paste the report public URL to embed your reports into platforms that support oEmbed such as Medium and Reddit. SeekTable is registered as a provider on which means that SeekTable reports may be easily embedded in many apps that use Embedly API.

User-defined report parameters

If cube has report parameters you can provide them with report_parameters in a query string of public report URL, for example:

In this way you can enable user-defined report parameters for the report embedded into your web page:

  1. Configure one or more report parameters for your cube
  2. Publish the report to web with a public link
  3. Embed the report into your host web page with IFRAME and add input(s) for the report parameters(s) on your host page
  4. When user changes an input, host page should reload IFRAME with an URL that contains new values of report parameter(s)
Alternatively you can enable inputs for parameters with Advanced Publishing subscription, or apply parameters without IFRAME reload.

You may use a js code from this example and adopt it for your own report parameters and input controls.

Advanced publishing/embedding paid subscription capabilities

Users with this subscription can use advanced options for the published reports:

You can easily evaluate these features by activating free 14-day trial.

These advanced options may be enabled with URL parameters (as described below) or configured in SeekTable app with ShareGet LinkConfigure form:

Configure Published Report: Advanced publishing options

Enable exports for published report

To display export buttons specify export=pdf,excel parameter (comma-separated list of supported formats) which enables "Export to <format>" buttons at the ending of the report:,excel

Supported formats are: pdf, csv, excel, html, json, excelpivottable (this one works only for pivot table reports).

You can initiate report export directly with URL pattern [public_link]/export/[format], for example:

By default only data that is visible in the report web view is exported; if you want to export all data (disregard pagination and report "Limits" settings) you can specify rows/columns limit for export with export_limit=5000 parameter. Max possible value depends on the report type and export format:

Pivot Table
Max number of rows depends on the matrix size:
(number of rows) x (number of columns) should be <= 1,000,000
Flat Table
For PDF and Excel exports max export_limit value is 10,000. For other formats max number of rows is 50,000

Note: these limits can be increased in self-hosted SeekTable.

When report is embedded with IFRAME it is possible to place custom export buttons in the "host" web page and initiate export with javascript as illustrated by this example.

Enable sorting / pagination

Advanced publishing subscription enables pagination if published report is a large pivot table (otherwise only current 'page' is displayed). In addition to that, you can allow users to change table sorting by adding sort=true parameter:

Enable inputs for report parameters

You can enable inputs for entering parameters by viewers by adding parameter=filter_year,filter_country:,filter_country
filter_year and filter_country are parameter names specified in the cube configuration. Parameter order is important: inputs are displayed exactly in this order.

Refresh a report page automatically

Public report page can be refreshed automatically after some interval: users can keep public report link opened in the web browser and it will refresh automatically (without need to manually force page refresh). To enable auto-refresh add refresh_interval=5 parameter (interval value in minutes) to the report public URL, for example:

This feature is useful if you want to display real-time report or dashboard on wall-mounted screens in meeting rooms, reception areas, or around the office.
Note: minimal refresh interval is 5 minutes. If you need more frequent updates consider usage of self-hosted SeekTable: in this case you'll able to use refresh_interval=1 (every minute) refresh.

Apply user-defined parameters without IFRAME reload

If you use custom filters you can avoid ugly IFRAME reload and refresh the report with new parameters in the following way: example.

var reportParams = {filter_year:1997};
var msg = JSON.stringify( {"action":"refresh","args":[reportParams]} );
window.frames.iframeName.postMessage(msg, "*");