Hi João,
If it save some data and then it disappears, it's because you're having an exception and you're data is being roll backed. This is a common scenario of exception handling in a for each loop and you can make sure that data is persisted in the database using the CommitTransaction action from System:

About you getting 403 on some calls, 403 HTTP status code means Forbidden (see more here), so it seems like you are accessing to some data that you don't have access to. It may also be that the API you are calling starts blocking if it receives too many calls in a short period of time to avoid outage, but that depends on the API you are consuming.
In any case, the usual scenario is that you get all the data (or paginated data) from the API and then you upload a set of data on OutSystems side. If there is a single API that returns all the data you need, it would be better than calling an API that retrieves one record multiple times which would help performance and avoid those errors.
Kind Regards,
João