Today, Arknights: Endfield has officially entered its open beta phase. After spending some time exploring the game, I wanted to import my gacha data into my own gacha analysis app. However, possibly because the game had just launched, I was unable to find any existing tool capable of exporting gacha records. As a result, I decided to implement this functionality myself.
In this article, I will outline the core approach. Hopefully, this will be helpful if you are looking to achieve the same.
What’s in the URL
As with many other games, we can capture a gacha record request URL using a packet-sniffing tool:
https://ef-webview.hypergryph.com/api/record/char?lang=zh-cn&seq_id={seqId}&pool_type={poolType}&token={token}&server_id={serverId}

Gacha record URL
Character Pool
For character pools, the two key parameters are pool_type and seq_id.
pool_type represents the pool enum value, and currently supports the following:
- Beginner Search:
E_CharacterGachaPoolType_Beginner - Standard Search:
E_CharacterGachaPoolType_Standard - Special Search:
E_CharacterGachaPoolType_Special
Unlike games such as Genshin Impact or Wuthering Waves, Endfield’s gacha record URLs typically include the seq_id parameter.
From the examples above, we can derive several key properties of seq_id:
seq_id (seqId)is an account-level, cross-sub-pool, and pool-type-isolated incremental sequence. All character sub-pools share a singleseq_idsequence, while weapon sub-pools share a separate one. Within the same pool category (all character pools or all weapon pools), switching between sub-pools does not reset the sequence.- A larger
seq_idindicates a more recent record. - If the request omits the
seq_idparameter, the API returns the latest five records (i.e., those with the largestseqIdvalues).
From these observations, we can conclude: when browsing gacha history in-game from newest to oldest, the process corresponds to decrementing the seq_id parameter in successive API requests.
Additionally, each response includes a hasMore flag, which indicates whether there are more records available beyond the smallest seqId in the current response (i.e., whether pagination can continue).
Weapon Pool
The weapon pool API differs slightly from the character pool API. Retrieving weapon data requires two steps:
Fetch weapon pool list
First, retrieve the list of weapon pools for which the user has records:
Response structure:
Weapon pools fall into two categories:
- Limited weapon pools:
poolIdfollows theweponbox_*pattern (e.g.,weponbox_1_0_1), corresponding to current featured weapons - Permanent weapon pools:
poolIdfollows theweaponbox_constant_*pattern (e.g.,weaponbox_constant_2)
Interestingly, the prefix
weponappears to be a typo of “weapon”, possibly a legacy artifact.
Fetch weapon gacha records
To retrieve records for a specific weapon pool, the API uses pool_id instead of pool_type:
Response structure:
Compared to character records, weapon records include:
weaponId: weapon identifierweaponName: weapon nameweaponType: weapon category (e.g.,E_WeaponType_Sword,E_WeaponType_Wand)
The seq_id behavior is identical: all weapon sub-pools share a unified sequence.
At this point, we have a clear understanding of how the gacha record API works in Arknights: Endfield.
Main Approach
Based on the above analysis, we can design a method to retrieve all gacha records using a valid API URL:
Character Pool
- Start by selecting any
pool_typeand sending a request withoutseq_idto obtain the latest records (with the highestseqId). Use the smallest
seqIdin the response as a cursor, and iteratively fetch older records until either:- the server no longer returns additional data, or
hasMore === false, indicating the earliest record has been reached.
Repeat the process for each
pool_type.
Weapon Pool
- Retrieve the list of weapon pools via the pool list API.
- Iterate over each pool and fetch records using
pool_id. - Classify pools based on
poolId: those containingconstantare permanent; others are limited.
Code Implementation
With this approach, we can successfully retrieve the complete set of gacha records across all pools in Arknights: Endfield.