Start using cache

Cut your API Costs and Make AI run faster!

Don't pay twice for the same result. Simply add skiprequest to any API domain name, if an identical request has been made before, we return the cached answer; if it's a new request, your API call goes through normally.

Network Flow Diagram

Sentiment+100’s moreWeatherHistoric DataTranslationConversation BotsWeb SearchContent ModerationThen cache responseElse finish original requestWhateverDataImages / VideoTextIf we canThen we return existing answerInput SourcesAPI’s
Sentiment+100’s moreWeatherHistoric DataTranslationConversation BotsWeb SearchContent ModerationAPI’sThen cache responseElse Finish Original RequestWhateverImages / VideoDataTextIf we canThen we return existing answerInput Sources
Chris Priebe, Founder quote

Chris Priebe

Founder of Two Hat Security, Former Disney, Club Penguin, Xbox, Microsoft employee. 25 year veteran in backend services and AI. Scaled APIs to manage over 1M requests per second and tackled more than a trillion requests annually.

In my 25-year journey through the tech sector I've often shared one key observation: 80% of chat boils down to just 20k familiar phrases. Whether a platform is big or small, many users stick to the trusty "hi", "bye", "BRB", and occasionally, some more... lively exclamations. We find ourselves pouring immense resources into prompting AIs to offer known answers, from the ever-present translate "where's the bathroom?" to that viral cat meme everyone loves. But what if, instead of working in silos, we pooled our knowledge? By collaboratively harnessing a shared database of these recurring responses, the web could become not only faster and greener, but also more cost-effective for everyone involved. That's the vision behind Skip Request.

FAQs

Is using Skip Request secure? How do you ensure data privacy?

Your Data

We never store your actual request data. Instead, we convert it into a secure hash (akin to an encrypted code) using SHA256. Thus, we don't store your request (which might have user data in it like "SomeUser loves this program") but only the response (ex. "user sentiment in this sentence is happy"). To make it more secure we only share that response with people who know the request. So unless your response required authorization (see section on "What should not be cached?) they are getting the exact same answer they would have got anyhow.

API Keys

We only store the last 3 characters of your API keys and only so you can see how much it is used in your admin dashboard and pull your settings for that call. Since we don't store it you need to leave your API key (BEARER token, etc) alone as if you where calling the API directly. This is because if it is not cached we are just passing on the request as is.

Cache Control

We prioritize data freshness and accuracy. Hence, we adhere to cache instructions (known as "CacheControl headers") from both the request and the API source. If any party indicates data shouldn't be cached, we respect that directive.

Do you support all types of APIs, or are there limitations? What should not be cached?

Absolutely! SkipRequest can be integrated with any API, but here are guidelines to ensure optimal performance and privacy:

Private Data

It's crucial to avoid caching sensitive or private information, particularly data that requires authorization, such as bank statements. The simple rule is, if you need a password to view it, don't cache it.

Read-Only vs. Modifying Requests

Caching expects the answer to be the same each time. Things like what is the weather at 2:30 is great. So are things like what objects are in this photo? Even get comments on this page are good but get comments then increase views by 1 are not good because something is changing because of the request. In that case if we skip it then it won't get the change. Generative AI could go either way. If you want something truely unique then call the API directly, if you want to save significant GPU money then add a seed and cache it.

Time-sensitive Data

For data like stock prices where real-time accuracy is paramount, it's recommended to call the API directly or use the appropriate Cache-Control headers. If a minor delay is acceptable, you can set the cache duration to a short period, e.g., Cache-Control: max-age=1 (one second).

Controlling Caching

Use the Cache-Control header to define caching behavior. For instance, Cache-Control: max-age=3600 retains data for an hour. To prevent data storage, employ Cache-Control: no-store. A note to API developers, if your API should not be cached be sure to set Cache-Control: no-store however be careful not to do so in order to just charge your users more money pointlessly as we show the users how much is cached and may help them find competitors with better practices.

Note

Although cached data can't be manually cleared, you can swiftly set its expiry using the Cache-Control header. If something is cached unintentionally, just resend the request with Cache-Control: max-age=1 to mark it for swift deletion.

What technical changes are required to integrate SkipRequest into my system?

Using SkipRequest is designed to be seamless and straightforward:

Endpoint Change

The only modification you'll need to make is to the API host name in your code. Instead of directing your requests to, someapi.com, you'll be pointing them to someapi.SkipRequest.com.

No Code Changes

With SkipRequest, the body of the responses and their respective headers remain unchanged (except standard cache debugging headers to tell you if it was cached). Whether it's success messages or error codes, you can expect the exact same feedback. If you used to check for statusCode == 200 then just keep doing that, nothing changes.

Client side calls and CORS Considerations

SkipRequest operates as a pass-through proxy, meaning we keep the body and headers of the request and response untouched. If you're making API calls directly from the client side, ensure your CORS (Cross-Origin Resource Sharing) settings recognize the new .SkipRequest.com domain. (Only if you call your APIs directly from your client's device)

Note

We provide extensive documentation on integrating SkipRequest with each major API.

How do you determine which answers are common enough to be cached?

Every API request you make is cached to maximize efficiency. When our cache reaches its maximum capacity, we remove the oldest entries to make space for newer ones. This is the benefit of working with us instead of building it yourself; we have economies of scale to provide massively huge databases. The more users we have the more hits you get, even on first time requests for you since one of our other users already had it.

Cache retention and removal are determined by age and any specific cache directives set in headers, like specifying a particular duration to store. For example, if an API response has a header indicating it should be stored for only 5 minutes, we'll respect that and remove it post that duration.

To help you monitor and optimize your use of SkipRequest, we offer a dashboard. Here, you can easily track how many times each of your API requests was directly served from the cache (a "cache hit") versus times it had to be freshly fetched (a "cache miss").

How is SkipRequest priced?

Our pricing structure is akin to joining a club or library. By subscribing monthly, you become part of a community where everyone benefits from shared responses. Here's a more detailed breakdown:

Pricing Page

For an overview of all our packages, visit our pricing page.

Subscription Model

You pay a monthly subscription fee, starting with a free trial for the first month. This allows you to evaluate the ease of installation and view a dashboard showing your API cache hits and misses, offering insight into potential savings.

Membership Tiers

There are several membership tiers to cater to varying needs. The developer package, priced at $10/mo, is ideal for most users, offering 100k requests. Notifications will be sent when you reach 50% and 90% of your limit, giving you the option to upgrade.

Why don't you have a free tier?

We give everyone 1 month for free. If your not saving at least $10/mo on your API calls then why bother using us? Okay maybe your python notebook keeps running the same steps over and over again and your tired of waiting. If we save you more than it costs then everyone wins.

Overages

Should you exceed your package's request limit, you have the choice to automatically transition to the next tier or halt further traffic. It's worth noting that unused requests from one month won’t carry over to the next.

Enterprise Needs

Our Enterprise plan allows for unlimited users and charges on a per billion request basis. Our founder is ex-Disney Security and ex-Microsoft and has sold enterprise software to many fortune 100 companies. Through that experience he is familiar with the extra requirements needed. At the Enterprise Plan Level custom contracts, annual security assessments, penetration testing reports, privacy evaluations, and other enterprise-grade prerequisites can be negotiated.

Commitments

No long-term contracts are involved (except custom Enterprise deals). You're free to cancel anytime, ensuring flexibility and peace of mind.