Fetch NFTs by collection

Query to fetch all of the NFTs in a collection and return owner, attributes, metadata, and transfer events related to each token.
This query demonstrates how to query a specific ERC721Contract, ERC721Token, and joining filtered logs (TransferLog) within each token.
query {
contract(address: "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d") {
... on ERC721Contract {
name
}
tokens {
edges {
node {
... on ERC721Token {
owner {
address
}
metadata {
image
animation_url
description
name
external_url
}
attributes {
name
value
}
logs(filter: { type: { eq: TRANSFER } }) {
edges {
node {
... on TransferLog {
fromAddress
toAddress
blockNumber
estimatedConfirmedAt
}
}
}
}
}
tokenId
}
}
}
}
}