Tag Info

Hot answers tagged

13

I imagine a /status method would not be too hard, and is crucial in both testing and deploying applications. Imagine an application that updates a database with new questions. It can query the /status method to correctly time it's calls so that it can make it through the day. I would also consider whether this call should count towards the limit. Twitter, ...


8

I have confirmed that a constant interval of 170 ms will run without error. // 30 per 5 sec = 6 per sec = interval 166.6 ms Soapi.RequestQueue.setInterval(170); Soapi.RouteFactory("api.meta.stackoverflow.com", apiKey) .Tags({ pagesize: 1 }) .getPagedResponse(); will run through all the tags on meta 1 at a time without issue. This is very ...


4

Did you make any requests earlier today without a key? The API only checks your key and sets a limit on the first request. A single IP address can only make a limited number of requests per day to the API. This limit is determined at first request time, and is dependent upon the presence of an API key.


4

Note: I'm the author of stack.PHP. You're likely running into rate limit issues. The API only allows you to make som many requests per second. Quoting from the question I linked to: The API will cut you off if you make more than 30 requests over 5 seconds to any single endpoint. Based on past experience, what you need to do is make sure that there is ...


3

Each application/user pair (as signified by an access_token) has a per-day quota of 10k requests (by default). Any number of these can be in flight at once, and they're reported as part of quota_remaining and quota_max. On top of that, is a per-user quota of 50,000. This quota isn't reported anywhere (for privacy reasons, we'd rather not leak a user's ...


2

I would imagine it's the start of the day, GMT like everything else on the sites, can't confirm this though. For me, that would be 8PM EST (-4 hours) at the moment. Suggestion here: If this isn't the case, I believe it should be. The most likely alternative is that I'm wrong and it's a 24 hour cache expiration on an item that gets cached your first ...


2

A help request in the browser will trigger the daily max cap. The SO team has set different request limits on the help requests (yesterday it was 300, but today it's 100000). So, by making stats?help (no key) request your first request for the day, you're 'hacking' your daily cap to 100000. :-) I suspect this hack won't last long, so use it while it's ...


2

I completely understand and share your concern. (I have no intention of switching to C#, though.) My concern is for my own apps which share a server. StackMobile, StackList, StackCenter, StackImage, Stack2XML, and StackMail all share a server. None of them are getting enough traffic for this to be a concern, though.


2

You might consider looking at StacMan for inspiration, a C# client that deals with some of these questions. Off hand it does push everything through a "Manager" (called a Client in that code) and automatically enforces backoff and simultaneous request throttling. How many requests are OK to send simultaneously? While there is a strict cutoff... ...


2

The page where you can find the API key for your registered application says that the key doesn't need to be kept secret: [The key] is not considered a secret, and may be safely embed [sic] in client side code or distributed binaries. Abuse is typically an issue for the end-user, so you shouldn't be concerned about it beyond recognizing backoff ...


1

The documentation for the response wrapper defines the backoff field as an integer, so you can expect it to come back in the first form. I don't believe there's any way to graciously test a backoff response short of actually angering the API (which I'd recommend against).


1

You shouldn't be making more than 4 requests in this case. fetch a page of /users/{ids}/timeline group the ids by type (question, answers, comments) since the max pagesize fo users/{ids}/timeline is 100, we know there are < 100 of each id* make 1 query each with the appropriate ids to /questions/{ids}, /answers/{ids}, and /comments/{ids} This is the ...


1

The official rate limits are posted here. One thing you mentioned in your post does strike me as a little odd: "I've been doing a first call with pagesize=0 to determine how many pages there are then running a loop querying each page." Why the need to fetch an empty page to determine the total? Why not fetch the first page (which contains the total) ...


1

I am not sure if it has fallen off the radar or if it is an honest oversight but we can't seem to get an explicit description of the throttling guidelines. Core issues like this are critical, especially for library developers, and care should be taken to be as explicit as necessary to clearly define the guidelines. Case in point: My lazy loading library ...


1

We've indicated in the past that the per-day limit for a key can be increased if need is demonstrated. We will not be increasing a key limit based on "anticipated need," though. It must be a clear and present one. There are also somewhat different rules for managing "elevated keys."


1

I think you misunderstand how request limiting is meant to function. An IP has a limit of requests per-day. By using a key in a request, an application can promote an IP to a higher request limit. Once an IP is at that higher request limit it stays there until the end of the day. At no point is an application drawing from a quota it owns (even paired ...



Only top voted, non community-wiki answers of a minimum length are eligible