{"id":296249,"date":"2026-06-18T10:41:49","date_gmt":"2026-06-18T10:41:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/api-data-viewer\/"},"modified":"2026-06-18T10:41:30","modified_gmt":"2026-06-18T10:41:30","slug":"apitect-api-feed-display","status":"publish","type":"plugin","link":"https:\/\/tuk.wordpress.org\/plugins\/apitect-api-feed-display\/","author":16241934,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Apitect API Feed Display","header_author":"phpinterview1991","header_description":"Fetch, cache, and display data from external REST APIs or XML sources via shortcode, widget, or Gutenberg block. Configure endpoints in the admin panel.","assets_banners_color":"","last_updated":"2026-06-18 10:41:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/apitect-api-feed-display","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":36,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"phpinterview1991","date":"2026-06-18 10:41:30"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"apitect-api-feed-display\/viewer":{"name":"apitect-api-feed-display\/viewer","title":"Apitect API Feed Display"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin endpoint manager with saved endpoints list","2":"Add\/Edit endpoint form with live test feature","3":"Table display mode on the frontend","4":"Card display mode on the frontend","5":"Gutenberg block with sidebar controls"}},"plugin_section":[],"plugin_tags":[1556,1118,23853,80,748],"plugin_category":[43],"plugin_contributors":[267696],"plugin_business_model":[],"class_list":["post-296249","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-json","plugin_tags-rest-api","plugin_tags-shortcode","plugin_tags-xml","plugin_category-customization","plugin_contributors-phpinterview1991","plugin_committers-phpinterview1991"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/apitect-api-feed-display.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Apitect API Feed Display lets you connect to any external REST API or XML feed and display the response data anywhere on your WordPress site \u2014 no coding required.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Admin Endpoint Manager<\/strong> \u2014 Add, edit, delete, and live-test saved API endpoints<\/li>\n<li><strong>JSON &amp; XML Support<\/strong> \u2014 Auto-detect or manually specify the response format<\/li>\n<li><strong>Response Caching<\/strong> \u2014 Configurable TTL using the WordPress Transients API<\/li>\n<li><strong>4 Display Modes<\/strong> \u2014 Table, Cards, List, or Raw JSON<\/li>\n<li><strong>Shortcode<\/strong> \u2014 <code>[apitect_feed]<\/code> with rich attribute support<\/li>\n<li><strong>Sidebar Widget<\/strong> \u2014 Display any saved endpoint in any widget area<\/li>\n<li><strong>Gutenberg Block<\/strong> \u2014 Drag-and-drop block with live editor preview<\/li>\n<li><strong>Custom HTTP Headers<\/strong> \u2014 Bearer tokens, API keys, and custom headers per endpoint<\/li>\n<li><strong>Data Path Drilling<\/strong> \u2014 Dot-notation to target nested data (e.g. <code>data.items<\/code>)<\/li>\n<li><strong>Field Filtering<\/strong> \u2014 Show only specific keys from the response<\/li>\n<li><strong>Item Limiting<\/strong> \u2014 Restrict the number of rows or cards displayed<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external APIs and services that you configure yourself. No external service is contacted by default \u2014 connections only occur when you explicitly add an endpoint URL in the plugin's admin settings and that endpoint is requested on your site.<\/p>\n\n<p><strong>What data is sent:<\/strong>\nThe plugin makes HTTP requests (GET, POST, etc.) to the API URLs you configure. The request may include any custom HTTP headers you specify (such as API keys or Bearer tokens). No data is sent to any third-party service by Apitect API Feed Display itself \u2014 all API calls go directly to the URL you enter.<\/p>\n\n<p><strong>When data is sent:<\/strong>\nA request is made to your configured API URL when:\n- A page\/post containing the <code>[apitect_feed]<\/code> shortcode or the Gutenberg block is loaded by a visitor.\n- You use the \"Test\" button in the admin panel to preview a response.\n- A sidebar widget configured with an endpoint is displayed.<\/p>\n\n<p>Responses are cached using WordPress Transients to reduce repeated API calls (configurable per endpoint; default 300 seconds).<\/p>\n\n<p><strong>Third-party API policies:<\/strong>\nYou are solely responsible for ensuring that your use of any external API complies with that service's terms of service and privacy policy. Please review the terms and privacy policy of any API you connect to:<\/p>\n\n<ul>\n<li>The plugin has no affiliation with any external API provider.<\/li>\n<li>API providers may log IP addresses, request metadata, or other information per their own policies.<\/li>\n<li>For APIs that handle personal data, ensure you have appropriate disclosures in your site's own Privacy Policy.<\/li>\n<\/ul>\n\n<h3>Shortcode Reference<\/h3>\n\n<p>Basic usage:\n    [apitect_feed id=\"my-endpoint\"]<\/p>\n\n<p>With options:\n    [apitect_feed id=\"my-endpoint\" display=\"card\" limit=\"5\" fields=\"id,name,email\" title=\"Users\"]<\/p>\n\n<p>Ad-hoc URL (no saved endpoint needed):\n    [apitect_feed url=\"https:\/\/jsonplaceholder.typicode.com\/users\" format=\"json\" display=\"table\"]<\/p>\n\n<p><strong>Available attributes:<\/strong><\/p>\n\n<ul>\n<li><code>id<\/code> \u2014 ID of a saved endpoint<\/li>\n<li><code>url<\/code> \u2014 Ad-hoc API URL (used when no <code>id<\/code> is provided)<\/li>\n<li><code>method<\/code> \u2014 HTTP method, default <code>GET<\/code><\/li>\n<li><code>format<\/code> \u2014 <code>auto<\/code>, <code>json<\/code>, or <code>xml<\/code> (default <code>auto<\/code>)<\/li>\n<li><code>cache_ttl<\/code> \u2014 Cache duration in seconds, default <code>300<\/code> (0 = disabled)<\/li>\n<li><code>display<\/code> \u2014 <code>table<\/code>, <code>card<\/code>, <code>list<\/code>, or <code>raw<\/code> (default <code>table<\/code>)<\/li>\n<li><code>path<\/code> \u2014 Dot-notation path into the response, e.g. <code>data.items<\/code><\/li>\n<li><code>limit<\/code> \u2014 Maximum number of items to show (0 = all)<\/li>\n<li><code>fields<\/code> \u2014 Comma-separated list of keys to display<\/li>\n<li><code>title<\/code> \u2014 Optional heading rendered above the output<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>apitect-api-feed-display<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>Apitect Feed<\/strong> in your admin sidebar to add your first endpoint.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20it%20with%20authenticated%20apis%3F\"><h3>Can I use it with authenticated APIs?<\/h3><\/dt>\n<dd><p>Yes. Add your <code>Authorization: Bearer TOKEN<\/code> or <code>X-Api-Key: KEY<\/code> header in the endpoint configuration form.<\/p><\/dd>\n<dt id=\"where%20is%20cached%20data%20stored%3F\"><h3>Where is cached data stored?<\/h3><\/dt>\n<dd><p>In WordPress Transients (the <code>wp_options<\/code> table). You can clear all plugin caches at any time from the <strong>Apitect Feed<\/strong> admin page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20target%20nested%20data%20in%20the%20response%3F\"><h3>How do I target nested data in the response?<\/h3><\/dt>\n<dd><p>Use the <code>path<\/code> attribute with dot-notation. For a response like <code>{ \"data\": { \"users\": [...] } }<\/code>, use <code>path=\"data.users\"<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20support%20post%20requests%3F\"><h3>Does it support POST requests?<\/h3><\/dt>\n<dd><p>Yes. Set the HTTP method to POST and provide your request body (usually JSON) in the endpoint form.<\/p><\/dd>\n<dt id=\"what%20display%20modes%20are%20available%3F\"><h3>What display modes are available?<\/h3><\/dt>\n<dd><p>Table, Cards, List, and Raw JSON. The renderer auto-links URLs found in data values.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20any%20data%20to%20the%20plugin%20author%3F\"><h3>Does the plugin send any data to the plugin author?<\/h3><\/dt>\n<dd><p>No. The plugin makes no calls to any server controlled by the plugin author. All API requests go directly to the URLs you configure.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Fetch, cache, and display data from any external REST API or XML source via shortcode, sidebar widget, or Gutenberg block.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/296249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=296249"}],"author":[{"embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/phpinterview1991"}],"wp:attachment":[{"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=296249"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=296249"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=296249"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=296249"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=296249"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tuk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=296249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}