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 13 days ago

