{"id":4459,"date":"2025-09-11T13:01:40","date_gmt":"2025-09-11T13:01:40","guid":{"rendered":"https:\/\/tinyurl.com\/blog\/?p=4459"},"modified":"2025-09-11T16:59:42","modified_gmt":"2025-09-11T16:59:42","slug":"retiring-our-old-api-endpoint","status":"publish","type":"post","link":"https:\/\/tinyurl.com\/blog\/retiring-our-old-api-endpoint\/","title":{"rendered":"One Step Closer to Retiring Our 23-Year-Old API Endpoint"},"content":{"rendered":"\n<p style=\"font-size:16px\">At TinyURL, our mission has always been to simplify the internet through the power of the URL. When we launched 23 years ago, our founder created a simple, unauthenticated API endpoint for internal use. Though never formally publicized, this endpoint was discovered and widely adopted over the decades by users ranging from major platforms like Twitter to independent developers. Despite its unofficial status, it currently handles over a billion requests per month. <\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">We deprecated this endpoint several years ago in favor of our modern and secure API, but given its widespread use and no way to directly contact all its users, retiring it has been challenging. Moreover, fully retiring it could disrupt many applications.<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">To progress toward retiring this legacy endpoint, discourage its continued use, and encourage migration to our latest API, we are introducing an interstitial preview page on all TinyURL links created via the deprecated endpoint. This interstitial page includes a countdown that automatically redirects users to the destination link while providing information about the deprecation.<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">We understand that this interstitial page may not be suitable for all use cases. If this change impacts your application or existing links, please contact our support team at <a href=\"https:\/\/tinyurl.support\/\">https:\/\/tinyurl.support\/<\/a> to explore options for removing the interstitial.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:26px\"><strong>Why We\u2019re Making This Change<\/strong><\/h2>\n\n\n\n<p style=\"font-size:16px\">The original API endpoint, which only required a URL as a query parameter, made link shortening easy and accessible but also susceptible to abuse by malicious users. Retiring this endpoint is a critical step in enhancing platform security and reducing the burden on our abuse prevention team. By transitioning to our authenticated API, we can be more aggressive at implementing robust controls on this endpoint, such as:<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Blocking IP addresses with questionable reputations (e.g., known proxies or VPNs).<\/li>\n\n\n\n<li style=\"font-size:16px\">Restricting problematic domains (e.g., free webhosts or certain blogging platforms).<\/li>\n\n\n\n<li style=\"font-size:16px\">Enhancing monitoring to ensure a safer experience for all users.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">These measures allow us to better protect our legitimate users and maintain the integrity of our service.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:26px\"><strong>Migrating to Our Latest API<\/strong><\/h2>\n\n\n\n<p style=\"font-size:16px\">We strongly encourage all users of the deprecated API to transition to our modern API. It&#8217;s built on the OpenAPI standard which makes integration seamless, as you can leverage your preferred OpenAPI module in your programming language to replace calls to the deprecated endpoint. The new API offers enhanced features, including:<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Free Plan<\/strong>: Link shortening, custom aliases or pathnames, and keeping track of created links.<\/li>\n\n\n\n<li style=\"font-size:16px\"><strong>Paid Plans<\/strong>: Comprehensive analytics, branded domains, bulk link shortening, log downloads, and more.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">Migrating to the new API also removes the interstitial page for your new TinyURL links, ensuring a smoother user experience. Comprehensive documentation and resources are available at <a href=\"https:\/\/api.tinyurl.com\/\">https:\/\/api.tinyurl.com\/<\/a>. Our support team is ready to assist you through the migration process if needed \u2014 reach out at <a href=\"https:\/\/tinyurl.support\/\">https:\/\/tinyurl.support\/<\/a>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:26px\"><strong>What\u2019s Next?<\/strong><\/h2>\n\n\n\n<p style=\"font-size:16px\">The interstitial page is a temporary measure to facilitate a smooth transition on our path to retire the legacy API endpoint. We will continue to monitor its usage and phase in stricter controls on it as needed, guided by our ongoing efforts to combat abuse. While we have no fixed timeline for full retirement, it will depend on the endpoint\u2019s usage levels. We will put a notice in advance on this site when we have determined its EOL date. To avoid future disruptions, we urge you to begin migrating to the new API as soon as possible.<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"font-size:16px\">Thank you for being part of the TinyURL community. We\u2019re committed to making this transition seamless and appreciate your cooperation in building a safer, more reliable platform. For questions, feedback, or assistance, contact our support team at <a href=\"https:\/\/tinyurl.support\/\">https:\/\/tinyurl.support\/<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re introducing an interstitial preview page on all TinyURL links created via our deprecated API endpoint. Learn more in this article.<\/p>\n","protected":false},"author":4,"featured_media":4460,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[54,55],"class_list":["post-4459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-others","tag-api","tag-news"],"_links":{"self":[{"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/posts\/4459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/comments?post=4459"}],"version-history":[{"count":4,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/posts\/4459\/revisions"}],"predecessor-version":[{"id":4466,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/posts\/4459\/revisions\/4466"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/media\/4460"}],"wp:attachment":[{"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/media?parent=4459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/categories?post=4459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tinyurl.com\/blog\/wp-json\/wp\/v2\/tags?post=4459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}