📆 Don't miss our Sanity Showcase virtual meetup on March 20th!

Adding Rate Limit to nuxt.config.js - Example

15 replies
Last updated: Jul 20, 2022
Hi, hoping someone can help me with our API limits. We have a team membership and therefore have plenty of api request allowance. However, because we use Nuxt to generate our sites staticly, the IP (Netlify) that hits sanity is always the same, and so we are having build errors saying "ClientError: API rate limit exceeded". Can we not just have an api limit overall? We are having to tell our client they can't deploy changes because the api limit has been hit, and yet they are paying for the higher tier?
Please can someone let me know how we can get around this asap as they are obviously not happy about it! cc
user J

It would be really nice to be able to give sanity an allowed IP address, that doesn't have any extra limits placed on it.

On this note, please can someone explain to me when my API limit from a single IP resets? The docs just say 'until the period ends' which isn't very informative!
Jul 19, 2022, 9:24 AM
Hey
user L
! It's important to clarify that these are two separate things. API request quota varies depending on the plan you have, but the rate limit is the rate at which you can execute concurrent API requests. That will never change. You'll need to limit your requests to 25/second.
Jul 19, 2022, 4:51 PM
Thanks for getting back to me
user M
! Oh I see, okay I didn't know that! Do you have any idea how I can add a delay to my calls in when building the site statically with nuxt?
Jul 19, 2022, 4:56 PM
I do! I usually use this package to create a queue of my changes. That way I can execute the code I need in a single script.
Jul 19, 2022, 4:58 PM
Cc
user J
Jul 19, 2022, 5:01 PM
user M
thank you so much, I will try it first thing tomorrow!
Jul 19, 2022, 5:01 PM
Wasnt the issue that Ash was saying though about the fact it was one complex query
user L
in which case would this resolve it?
Jul 19, 2022, 5:02 PM
user J
Ash just informed me you've been discussing this via DM. If this is happening during the actual build that's something else entirely.
Jul 19, 2022, 5:07 PM
Doh! - yes it is but thank you for your help
Jul 19, 2022, 5:58 PM
any ideas gratefully received
Jul 19, 2022, 5:58 PM
This part is unfortunately outside my realm of knowledge, but we will discuss internally to help find solution!
Jul 19, 2022, 6:47 PM
Thank you
user M
!
Jul 20, 2022, 7:51 AM
Please let us know, as we have clients waiting on us!
Jul 20, 2022, 7:51 AM
We have solved this - just in case its helpful to anyone else!
In
nuxt.config.js
, add
generate: {
concurrency: 250, //only build 250 at a time based on the api rate limit
interval: 100, //delay by 0.1s
}
You can fiddle with those numbers, but thats what I have found works for me!
Jul 20, 2022, 9:28 AM
Thanks
user L
for sharing the solution here!
Jul 20, 2022, 10:39 AM
Thank you for sharing
user L
!
Jul 20, 2022, 3:19 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?

Related answers

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
Hey all - what’s the quickest way to batch delete all documents of a certain type? It looks like the `sanity` cli tool allows...Jan 29, 2021
In the tutorial, there is samples of what the API returns as JSON. Is there a way to view these ?Jan 11, 2021
Next.js and Vercel - Error! No Output Directory named "dist" foundAug 8, 2022
Warning: Data for Page Exceeds the Threshold of 128 kBAug 17, 2022
Custom Document Views - Is it Even Possible to Use the Structure Builder?Apr 21, 2022
How to get the number of nested/children components in a GROQ query.Jan 19, 2024
Issue with fetching data from an array of references and non-references in a groq query.Dec 14, 2023
GraphQL query resolving references on a _raw field in GatsbyMay 17, 2022
GROQ query for getting references from arrays in another array in Sanity.ioApr 9, 2020
How to fetch an array of images using groq in Sanity.ioMay 21, 2023

Related contributions

Turbo Start Sanity
- Template

The battle-tested Sanity template that powers Roboto Studio's websites

Go to Turbo Start Sanity

Schema UI - Next.js Sanity Starter
- Template

A Next.js starter template with Next.js 15, Tailwind CSS, shadcn/ui, and Sanity CMS with Live Editing. Get production-ready React components with matching Sanity schemas and queries. Build dynamic pages faster while keeping full control over customization.

Serge Ovcharenko
Go to Schema UI - Next.js Sanity Starter

The Swaddle
- Made with Sanity

A new brand identity to represent a more mature company, to signify The Swaddle’s evolution from publisher to production house, combined with an easier to navigate platform that can surface multiple content types - drawing readers through The Swaddle’s content offering.

Nightjar
Go to The Swaddle