Bearer key · JSON
POST /api/v1/directory/dataset
curl -s -X POST https://getattest.com.au/api/v1/directory/dataset \
-H "authorization: Bearer $ATTEST_API_KEY" \
-H "content-type: application/json" \
-d '{"limit":1}'
Send the key as a bearer token in the authorization header. One key and one credit balance cover every service, including Attest Capture. A failed call is refunded automatically. No key yet? POST /api/v1/keys issues one with 25 free credits and no signup — see the key guide.
Captured 2026-10-20
Example
This request was run against the running service on 2026-10-20 and the response below is what came back, unedited.
Request JSON
{
"limit": 1
}
Captured response JSON
{
"rows": [
{
"slug": "1lookup",
"name": "1Lookup",
"url": "https://www.1lookup.io/",
"category": "apis-for-agents",
"pricing_model": "paid",
"tagline": "Phone, email and IP validation and enrichment API.",
"launched_at": "2026-08-26T01:22:16.309Z",
"verified_at": "2026-08-26T01:22:16.309Z",
"updated_at": "2026-08-26T01:22:17.379Z",
"checks": [
{
"name": "site_live",
"ok": true,
"checked_at": "2026-08-26T01:22:16.309Z"
},
{
"name": "content_sanity",
"ok": true,
"checked_at": "2026-08-26T01:22:16.309Z"
},
{
"name": "impersonation",
"ok": true,
"checked_at": "2026-08-26T01:22:16.309Z"
}
]
}
],
"next_cursor": "eyJ2IjoxLCJhZnRlciI6IjFsb29rdXAiLCJzY29wZSI6Ijc5YWViYTBjMmY2NjZmMDNjZjhmNWQ3MmQ1YzkwZDM4NDY4NjU5MWYwMDIxMThlZmVhZDIwYWJkZDM3YTNhYzYiLCJzbmFwc2hvdCI6Ijk1MTYxYzM4YjQ4YTYzOTBhMGQwODA1MDBjYzFmM2Q0N2NkYzU4ZDBlMmU5NjNjN2MwNjlmNWM0NTYyYzNlYmEifQ",
"total_matching": 300,
"generated_at": "2026-10-20T20:35:50.646Z",
"licence": "Attest directory facts only. Subject to the Attest data-licence terms; third-party names and marks remain their owners'. Verification covers availability, public product evidence and supplied-link checks only; not an endorsement or security audit."
}
For agents
Use when
Use this when an agent needs a paged export or change feed of verified Attest directory facts.
5 fields
Input
Scroll the table horizontally to see all fields.
Field / Type / Required / What it does| Field | Type | Required | What it does |
|---|
format | string | Optional | json (default) or csv. CSV remains inside the JSON response envelope. |
|---|
category | string | Optional | An Attest directory category slug. |
|---|
since | string | Optional | ISO date or timestamp with timezone; includes rows verified OR updated at or after it. |
|---|
cursor | string | Optional | Opaque next_cursor from the previous page. Keep category and since unchanged. If matching data changes, restart without a cursor. |
|---|
limit | integer | Optional | 1–500 rows; defaults to 500. Each successful page costs 10 credits, including an empty page. |
|---|
HTTP 200
Response
Every successful response also carries call_id (your receipt for the charge), credits_charged and credits_remaining.
Scroll the table horizontally to see all fields.
Field / What it holds| Field | What it holds |
|---|
rows | JSON array of whitelisted facts, or CSV text with the same columns (checks is JSON in a cell). Taglines are capped at 160 characters; descriptions and maker data are excluded. CSV formula-like cells get an apostrophe prefix. |
|---|
next_cursor | Next page token, or null on the last page. Stable slug order; no featured ranking. |
|---|
total_matching | Unique verified rows matching filters in the supplied listing, before paging; never a fixed advertised count. |
|---|
generated_at | Attest server generation time, not a new verification time. |
|---|
licence | Data-licence note and verification scope; third-party marks remain with their owners. |
|---|
Machine-readable failures
Errors
Errors return JSON such as {"error":"invalid_api_key"}. A failed call is refunded automatically.
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
invalid_input | 400 | Invalid input; correct the request before retrying. |
|---|
invalid_format | 400 | Invalid format; correct the request before retrying. |
|---|
invalid_category | 400 | Invalid category; correct the request before retrying. |
|---|
invalid_since | 400 | Invalid since; correct the request before retrying. |
|---|
invalid_limit | 400 | Invalid limit; correct the request before retrying. |
|---|
invalid_cursor | 400 | Invalid cursor; correct the request before retrying. |
|---|
stale_cursor | 409 | Matching directory facts changed. Restart the export without a cursor; failed calls are refunded. |
|---|
services_unavailable | 503 | The directory listing capability is missing. |
|---|
directory_unavailable | 503 | The listing is malformed. Unexpected source failures use the controller's 502 fallback and are refunded. |
|---|
On every service
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
invalid_api_key | 401 | The authorization header is missing or the key is unknown. |
|---|
insufficient_credits | 402 | The balance is below this call's cost. The response carries credits_required and credits_remaining. |
|---|
rate_limit_exceeded | 429 | Free keys share 10 calls a minute across every service. The response carries limit and window_seconds. |
|---|
services_unavailable | 503 | The credit store could not be reached. Retry once after 30 seconds. |
|---|
Where the answer comes from
Source and scope
Facts from the Attest verified directory, supplied through the shared directory listing context. Check dates come from each check or its enclosing verification record; missing dates remain null. Unsupplied GitHub checks are omitted. No outbound site fetches are performed.
Attest reports what it read, with the source it read it from. It is general information, not advice, and not a legal record.
All Attest tools · Service list as JSON · OpenAPI