Skip to main content
POST
List takedowns
This API requires an API key with appropriate permissions. See API Key Documentation for more details.
This endpoint uses cursor-based pagination for efficient retrieval of large datasets. If you encounter errors related to payload size, please use the pagination feature as described below.

Pagination

To use pagination, include the per_page and next_page parameters in your request:
  • per_page <number>: Number of takedowns to return per page (min: 1, max: 100)
  • next_page <string>: Cursor for the next page of results

Example implementation for pagination:

Authorizations

X-API-KEY
string
header
required

Your API key. This is required by most endpoints to access our API programatically. Reach out to us at support@chainpatrol.io to get an API key for your use.

Body

application/json

List takedowns request body

Defaults to getting all takedowns in the last 30 days.

You can also choose a startDate and endDate for the range of takedown updates, most timestamp formats should work, we use Luxon for parsing the dates.

organizationSlug
string

Organization slug. Required when authenticating with a user session (Bearer token); ignored when using an API key (org is derived from the key).

query
string

Search query to filter takedowns by asset content

startDate
string

The start date to list takedowns from. This should be in the format YYYY-MM-DD and is inclusive.

endDate
string

The end date to list takedowns to. This should be in the format YYYY-MM-DD and is inclusive.

assetType
enum<string>[]

Filter by asset types

Available options:
URL,
PAGE,
ADDRESS,
DISCORD,
LINKEDIN,
TWITTER,
FACEBOOK,
YOUTUBE,
REDDIT,
TELEGRAM,
GOOGLE_APP_STORE,
APPLE_APP_STORE,
AMAZON_APP_STORE,
MICROSOFT_APP_STORE,
TIKTOK,
INSTAGRAM,
THREADS,
MEDIUM,
CHROME_WEB_STORE,
MOZILLA_ADDONS,
OPERA_ADDONS,
EMAIL,
PATREON,
OPENSEA,
FARCASTER,
IPFS,
GOOGLE_FORM,
WHATSAPP,
DISCORD_USER,
QUORA,
GITHUB,
TEACHABLE,
SUBSTACK,
DEBANK,
TAWK_TO,
JOTFORM,
PRIMAL,
BLUESKY,
SNAPCHAT,
DESO,
PINTEREST,
FLICKR,
GALXE,
VELOG,
NPM,
PYPI,
HEX,
DOCKER_HUB,
VOCAL_MEDIA,
TECKFINE,
TENDERLY,
HACKMD,
ETSY,
ZAZZLE,
BASENAME,
BILIBILI_TV,
VIMEO,
DAILYMOTION,
PHONE_NUMBER,
SLACK,
CALENDLY,
NGROK,
RARIBLE,
RUST_PACKAGE,
FLATHUB,
VIDLII,
VEVIOZ,
ISSUU,
SOUNDCLOUD,
ZAPPER,
REDNOTE,
SAMSUNG_APP_STORE,
HUAWEI_APP_STORE,
XIAOMI_APP_STORE,
TENCENT_APP_STORE,
OPPO_APP_STORE,
VIVO_APP_STORE,
F_DROID,
GOOGLE_AD,
BING_AD,
TWITCH,
BEHANCE,
ZORA,
META_AD,
SIGNAL,
DEVIANTART,
BANDCAMP,
ARCHIVE_ORG,
FIVE_HUNDRED_PX,
LUMA,
SMARTMONEYMATCH,
APK_GOLD
takedownStatus
enum<string>[]

Filter by takedown status

Available options:
TODO,
IN_PROGRESS,
COMPLETED,
CANCELLED,
PENDING_RETRACTION,
RETRACTION_SENT,
RETRACTED,
PENDING_INPUT,
PENDING_EVIDENCE
livenessStatus
enum<string>[]

Filter by liveness status

Available options:
UNKNOWN,
ALIVE,
DEAD
brandIds
integer[]

Filter by brand IDs

Required range: x > 0
assigneeIds
integer[]

Filter by takedown assignee user IDs

Required range: x > 0
startedAtStartDate
string

Inclusive start of the takedown started at date range, in YYYY-MM-DD or ISO 8601. A takedown's started-at is the earliest IN_PROGRESS status-change event.

startedAtEndDate
string

Inclusive end of the takedown started at date range. Defaults to the current time when startedAtStartDate is provided alone.

hideAutomatedTakedowns
boolean

Hide takedowns whose target asset type (or content) is handled by the automated platform-takedown pipeline (e.g. Telegram, Medium, *.webflow.io).

hideAutomatedLivenessChecks
boolean

Hide takedowns whose asset type (or content) is checked for liveness automatically (e.g. Twitter, Bluesky, *.gitbook.io).

sorting
object[]

Sorting configuration

per_page
integer
default:10

The number of takedowns to return per page

Required range: 1 <= x <= 100
next_page
string | null

Cursor for fetching the next page of results

Response

Successful response

Successful operation

takedowns
object[]
required

List of takedowns

next_page
string | null

Cursor for fetching the next page of results