SmokeMirror.1058:

Hi,

I would like to know if there is some restrictions calls on your APIs ?
We will save recipes and items in our database to make less calls on your api after.

But we are talking about ~20 000 calls. If there is some restrictions, can you tell us which they are ?

Thanks for your return.

Lawton Campbell.8517:

There are currently no enforced restrictions — we might add rate limiting if there’s a problem. My general recommendation is sticking to 1 request/second on average (e.g., under 80k requests/day).

20,000 API calls is a lot — are these authenticated requests? It should take much fewer to get all of the unauthenticated data out.

SmokeMirror.1058:

Hi,

I would like call the APIs:
- v1/recipes.json
- foreach recipe: v2/recipes/
- foreach items in recipe: v2/items/

The last time where I called v1/recipes.json, I get ~10 000 recipes and 1 recipe = 1 item build so ~ 2×10 000.

For items required in recipe, I think I will use ajax to your api to get informations on start. Maybe in future, I will call to get each items required in recipe but not my priority.

Lawton Campbell.8517:

It would be faster on your end to batch calls to /v2/recipes and /v2/items with the ?ids parameter, e.g. /v2/items?ids=1,2,3,4. You can request up to 200 resources at once. Alternatively, you could use /v2/items?page_size=200&page=N to pull all the item data (and /v2/recipes?page_size=200&page=N to pull all the recipe data) and it’d probably be less network overhead.

Ultimately, it doesn’t make that big of a difference performance-wise on our side, so I’m not too concerned about it. If you’re making under 100k requests/day (which comes out to about one request/second) it’s not really a big deal.

SmokeMirror.1058:

I think we will make calls only when the game has been updated.

I didn’t know the call with input parameters, I will make some tests.

Thanks for your returns.