CordFingerprintAction
Draw a dated Cord fingerprint for the X-Fingerprint header, so the account you register carries that fingerprint's creation date.
CordFingerprintAction hands you one Cord fingerprint from stock, optionally restricted to a date or a date range.
Nothing is solved: the task takes a line out of an existing inventory, returns it, and deletes it, so each fingerprint
is issued exactly once.
What the fingerprint does
A Cord fingerprint is a value generated shortly before registering and sent with the registration. It is a snowflake, a dot, and a signed blob:
1174092529238016042.sample_fingerprint_stringOn a valid registration Cord reuses the fingerprint's snowflake as the new account's ID, and a snowflake encodes the millisecond it was created. The fingerprint sets the account's creation date. Register with a fingerprint made in December 2023 and the account reads as created in December 2023, however long after that you actually sign up.
Stock runs from mid-October 2023 to mid-February 2024, so an account registered with one lands somewhere in that window. What is left inside it shifts as fingerprints are drawn, so ask for a date and see what comes back. You cannot generate one with a past timestamp, which is why they are inventory rather than something a solver computes.
Using the fingerprint
Go through your registration flow and find every request that carries an X-Fingerprint header. Replace that header's
value with the fingerprint this task returned, and send the same one on all of them.
A fingerprint can only be used once. Draw a new one for the next registration.
This task does not register anything
It only dispenses the fingerprint. Creating the account and solving any CAPTCHA on the register endpoint are yours to do.
Choosing a date
date is optional. Omit it for a random fingerprint from the whole inventory, or send a single date or an inclusive
range.
Single dates, ordinals allowed:
- Month name:
Dec 1 2023,December 1 2023,Dec 1st 2023 - Year first:
2023-12-01,2023/12/01,2023_12_01,2023.12.01 - Day first:
01-12-2023,01/12/2023,01_12_2023,01.12.2023
Ranges join two of those with -, .., : or to, and include both bounds:
2023/11/01-2023/12/31
2023-11-01 - 2023-12-31
Nov 1 2023 to Dec 31 2023
Nov 1 2023..Dec 31 2023
Nov 1 2023:Dec 31 2023A reversed range is swapped for you. Numeric dates are day-month-year, never month-day-year; the four-digit part is the year. Everything is UTC, and there is no fallback to a nearby day: if a date has no stock left, the draw comes back empty.
The returned date
solution.date is the fingerprint's own timestamp, RFC 3339 UTC with milliseconds, decoded from its snowflake:
timestamp_ms = (snowflake >> 22) + 14200704000001420070400000 is Cord's epoch (1 January 2015 UTC); the low 22 bits are worker and sequence data. The decoded value is
used only when it lands between 2015 and 2035, otherwise the timestamp is midnight UTC of the date the fingerprint is
filed under. Either way it is the creation date the registered account will carry.
Pricing
- No
date, a random draw: $5.00 per 1,000 ($0.005 each). - A date or a range: $5.50 per 1,000 ($0.0055 each).
The exact figure comes back as cost on the result.
Supported Providers
| Provider | Price per 1,000 | Routing |
|---|---|---|
| $5.00 - $5.50 |
Request Schema
| Field | Type | Required | Description |
|---|---|---|---|
clientKey* | string | Yes | Your API key. Create one in the AnySolver dashboard. Example: |
task* | object | Yes | The task body. Required fields depend on the task type. See Tasks for per-task schemas. View task properties |
settings | object | No | Per-request settings for routing, auto retry, auto fallback, and proxy behavior. See Routing Strategies. View settings reference |
Task Object Properties
The task field accepts an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
type* | Yes | ||
date | string | No | Restrict the draw to one issue date or an inclusive range. Accepts Example: |
{ "clientKey": "your-api-key-from-dashboard", "task": { "type": "CordFingerprintAction" }}Optional fields are not guaranteed across providers
Response Schema
| Field | Type | Required | Description |
|---|---|---|---|
status* | Yes | Task status: "processing", "ready", or "failed". Example: | |
errorId* | Yes | 0 = success, 1 = external error, 2 = internal error. Example: | |
taskId | string | No | Unique identifier returned when the task was created. Example: |
errorCode | No | Machine-readable error code. Example: | |
errorDescription | string | No | Human-readable error message with resolution hints. Example: |
cost | number | No | Actual cost charged for this task in USD. Example: |
taskType | No | The type of CAPTCHA task to solve. Example: | |
provider | No | Provider that handled this task. While processing, the provider currently solving it. Example: | |
solution | object | No |
Solution Object Properties
The solution field contains an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
fingerprint* | string | Yes | Cord fingerprint, sent verbatim as the Example: |
date* | string | Yes | Creation timestamp of the fingerprint (RFC 3339, UTC, milliseconds), decoded from its snowflake. This is the creation date an account registered with it will carry. Example: |
raw* | Record<string, unknown> | Yes | Raw provider response data for advanced use cases. |