Backfills
Download every current entity with the paginated list endpoint.
Use GET /v1/entities to copy all current public entities. Omit filter and
request the maximum page size:
curl --get "https://api.regbase.com/v1/entities" \
--header "Authorization: Bearer $REGBASE_API_KEY" \
--data-urlencode "page[limit]=100"The endpoint returns canonical entities ordered by ID. It omits deleted or merged source entities.
Read every page
Process the first response, then follow links.next until it is absent:
let url =
"https://api.regbase.com/v1/entities?page%5Blimit%5D=100";
while (url) {
const response = await fetch(url, {
headers: {
Authorization: `Bearer ${process.env.REGBASE_API_KEY}`,
},
});
if (!response.ok) {
throw new Error(`Regbase returned ${response.status}`);
}
const document = await response.json();
for (const entity of document.data) {
await saveEntity(entity);
}
url = document.links.next ?? null;
}Treat links.next as opaque. It already contains the correct page[after]
cursor and page limit.
Backfill a subset
Add a qualifier-only filter string to copy a subset:
curl --get "https://api.regbase.com/v1/entities" \
--header "Authorization: Bearer $REGBASE_API_KEY" \
--data-urlencode "filter=jurisdiction:US.CA status:Passed" \
--data-urlencode "page[limit]=100"Free text is not accepted by the list endpoint. Use qualifiers only.
Entities can change during a long backfill. After the backfill, use the changes endpoint to keep your copy current.