Paginate card results
Retrieve additional records from a single relationship card.
An entity lookup embeds at most 100 items per card. Use the single-card endpoint to retrieve additional items. This page covers the card-specific response and cursor; the Search pagination guide explains shared traversal principles.
1. Request the first page
This example retrieves Airbnb's founders one at a time so you can see pagination without needing a large card. In bash or zsh, set CRUNCHBASE_API_KEY as shown in Make your first API request.
Start without after_id or before_id:
curl --include --request GET \
'https://api.crunchbase.com/v4/data/entities/organizations/airbnb/cards/founders?limit=1' \
--header "X-cb-user-key: $CRUNCHBASE_API_KEY" \
--header 'Accept: application/json'Check: the status line is HTTP 200. Read the items from cards.founders, not entities. The following response is an excerpt; fields and ordering can change:
{
"properties": {
"identifier": {
"uuid": "bcb617c3-9e43-d5b0-1d14-82b795f2642f",
"value": "Airbnb"
}
},
"cards": {
"founders": [
{
"identifier": {
"uuid": "650f8362-4182-b4db-20cd-cf58daa02214",
"value": "Brian Chesky"
}
}
]
}
}2. Use the last card item's UUID
Copy identifier.uuid from the last item in the returned card array. For this card, that is cards.founders[cards.founders.length - 1].identifier.uuid.
Do not use properties.identifier.uuid: that identifies Airbnb, the owner of the card. Do not copy a different related entity's UUID from another field in the item.
Replace LAST_CARD_ITEM_UUID below with the UUID from your own first response:
curl --include --get \
'https://api.crunchbase.com/v4/data/entities/organizations/airbnb/cards/founders' \
--data-urlencode 'limit=1' \
--data-urlencode 'after_id=LAST_CARD_ITEM_UUID' \
--header "X-cb-user-key: $CRUNCHBASE_API_KEY" \
--header 'Accept: application/json'Check: the response is HTTP 200 and the card contains the next item, or an empty array if you reached the end. For each subsequent request, replace after_id with the last item UUID from the most recent successful page.
3. Stop at the end; distinguish failures
An empty card array in a successful, valid response ends the traversal:
{
"cards": {
"founders": []
}
}This is a response excerpt. Continue after a nonempty page, even if it contains fewer items than your requested limit.
- Keep the entity, card, selected fields, ordering, and limit unchanged while advancing the cursor.
- If a cursor repeats, stop with an error rather than looping.
- A missing card, missing item identifier, invalid JSON, or failed HTTP response is not evidence that pagination is complete. Check the response and your licensed access.
- Retry a failed request with the same cursor using the shared retry policy. Report incomplete results if you stop because of an error or a client-imposed page limit.
- Keyset pagination does not provide a transactional snapshot across requests. Data changes can affect the traversal.
Adapt the request to another card
Use /v4/data/entities/{collection_id}/{entity_id}/cards/{card_id}. The entity ID can be a UUID or permalink. Select a card supported by your licensed package's API reference.
| Parameter | Use |
|---|---|
card_field_ids | Comma-separated fields to request within each card item. Supported fields depend on the card; do not substitute the entity lookup's field_ids. |
limit | Items per request, up to 100. The example uses 1 for demonstration. |
after_id | UUID of the last item on the current page, to move forward. |
before_id | UUID of the first item on the current page, to move backward. Do not combine with after_id. |
order | A supported sort field and direction, such as announced_on desc on an applicable card. URL-encode spaces. |
Treat optional fields as optional. For another card, replace cards.founders with that card's response array and use its item identifier as documented in the response schema.
Updated about 11 hours ago

