GET Catalog Details

Fetch a single catalog entry along with all of its actions

GEThttps://api.anakin.io/v1/holocron/catalog/{slug}

Returns the catalog entry for a single website plus every visible action it exposes. This is the canonical way to discover an action's action_id, parameter schema, mode (async / sync), and credit cost before calling POST /v1/holocron/task.

Requires an X-API-Key. Returns public actions plus any private actions you own.


Path Parameters

ParameterTypeDescription
slug requiredstringCatalog slug (e.g. airbnb, linkedin). Get slugs from GET /v1/holocron/catalog

Response

200 OK
{
  "catalog": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "slug": "airbnb",
    "name": "Airbnb",
    "url": "https://www.airbnb.com",
    "domain": "airbnb.com",
    "category": "travel",
    "description": "Search listings, fetch reviews, and pull host details.",
    "logo_url": "https://cdn.anakin.io/logos/airbnb.png",
    "auth_required": false,
    "auth_types": [],
    "status": "active",
    "created_at": "2026-02-01T00:00:00Z",
    "updated_at": "2026-04-20T12:00:00Z",
    "action_count": 4
  },
  "actions": [
    {
      "id": "f1e2d3c4-b5a6-7890-1234-56789abcdef0",
      "action_id": "ab_search_listings",
      "catalog_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Search Listings",
      "description": "Search Airbnb listings by query, dates, and guest count.",
      "tags": ["search", "listings"],
      "type": "scrape",
      "mode": "async",
      "auth_mode": "none",
      "auth_required": false,
      "parameters": {
        "type": "object",
        "properties": {
          "query":    { "type": "string",  "description": "Location query, e.g. 'pacific heights'" },
          "checkin":  { "type": "string",  "description": "ISO date" },
          "checkout": { "type": "string",  "description": "ISO date" },
          "adults":   { "type": "integer" },
          "children": { "type": "integer" },
          "infants":  { "type": "integer" },
          "pets":     { "type": "integer" },
          "cursor":   { "type": "string",  "description": "Pagination cursor from previous response" },
          "currency": { "type": "string" },
          "locale":   { "type": "string" }
        },
        "required": ["query"]
      },
      "credits_per_call": 1,
      "wheel_version": "0.4.2",
      "status": "active",
      "created_at": "2026-02-01T00:00:00Z",
      "updated_at": "2026-04-20T12:00:00Z"
    }
  ]
}

Catalog fields

See GET /v1/holocron/catalog — the catalog object on this endpoint matches the same CatalogEntry shape.

Action fields

FieldTypeDescription
actions[].action_idstringPass this as action_id when calling POST /v1/holocron/task
actions[].namestringDisplay name
actions[].descriptionstring | nullShort summary
actions[].tagsstring[]Free-form tags for filtering / discovery
actions[].typestringAction category (e.g. scrape, extract)
actions[].modestringasync (returns job_id, poll for results) or sync (returns data inline)
actions[].auth_modestring"none" | "optional" | "required". requiredcredential_id mandatory; optionalcredential_id honored if supplied; none ⇒ credentials are ignored
actions[].auth_requiredbooleanDeprecated legacy mirror — true iff auth_mode === "required". Prefer reading auth_mode
actions[].parametersobjectJSON Schema describing the params accepted by POST /v1/holocron/task
actions[].credits_per_callintegerBase credit cost. Some actions use a CEL expression in action_config.credit_expression to compute final cost from the response — final cost is reflected on the job record
actions[].wheel_versionstring | nullBuild version of the underlying scraper
actions[].statusstringactive or pending_review
actions[].owner_user_idstring | nullSet when this is a private action you built via build-request

Only actions visible to the requesting user are returned. Private actions belonging to other users are filtered out server-side.


Error Responses

Catalog not found404 Not Found

{
  "status": "error",
  "error": { "code": "NOT_FOUND", "message": "Catalog entry not found" }
}

Code Examples

curl https://api.anakin.io/v1/holocron/catalog/airbnb \
  -H "X-API-Key: your_api_key"

Rate Limit

60 requests per minute per IP.