Cards

Relationships

Card resources have the following relationships for their records.

  • Card Cycles
  • Card Pools
  • Card Sets
  • Card Subtypes (if not present, the relationship link will filter for a ‘none’ value and return an empty set)
  • Card Type
  • Decklists
  • Faction
  • Printings
  • Reviews
  • Rulings
  • Side

Filter - Card Search Operator

Notes

The search syntax is the same between the Card and Printing endpoints aside from some fields that only exist in one or the other.

In constructed URLs for calls to the API, ensure that you URL Encode the value to the filter[search] argument.

Search Query Structure

  • A search query is a series of one or more conditions separated by one or more spaces (which acts as an implicit and) or explicit conjuctions (and and or):
    • condition1 condition2 condition3 - gets all cards that meet the requirements of all three conditions
  • Multiple values for a given term can be provided with | ( acts as or) or &.
    • text:"Runner is tagged"&meat will return all cards with both Runner is tagged and meat in their text.
    • text:"Runner is tagged"|meat will return all cards with either Runner is tagged or meat in their text.
  • Each condition must be some or all of the name of a card or a criteria search:
    • Street - gets all cards with “Street” in their name
    • x:credit - gets all cards with “credit” in their ability text (see below for the full list of accepted criteria)
  • Note that conditions containing spaces must be surrounded with quotation marks:
    • "Street Magic" or x:"take all credits"
  • Negation operators
    • In addition to using a match or negated match operator (like faction!anarch), you can preface any condition with ! or - to negate the whole condition.
    • f:adam -card_type:resource will return all non-resource Adam cards.
    • f:apex !card_type:event will return all non-event Apex cards.
  • Conjunctions and grouping
    • Explicit and and or conjunctions are supported by the Search Syntax.
      • t:identity and f:criminal will return all Criminal Identities.
    • Explicit parenthesis will control grouping.
      • (f:criminal or f:shaper) and t:identity or (f:criminal or f:shaper) t:identity will return all Criminal or Shaper Identities.
    • A literal and or one using a space will have a higher precedence than an or.
      • f:criminal or f:shaper and t:identity and f:criminal or f:shaper t:identity will return all Criminal cards and Shaper Identities.

Field Types and Operators

There are 5 types of fields in the Search Filter:

  • Array - supports the : (an element in the array is an exact match) and ! (an element in the array is not an exact match) operators.
    • card_pool_ids:eternal|snapshot returns all cards in the eternal or snapshot card pools.
    • card_pool!snapshot returns all cards not in the snapshot card pool.
  • Boolean - supports the : (match) and ! (negated match) operators. true, false, t, f, 1, and 0 are all acceptable values.
    • advanceable:true, advanceable:t, and advanceable:1 will all return all results where advanceable is true.
  • Date - supports the : (match), ! (negated match), <, <=, >, and >= operators. Requires date in YYYY-MM-DD format.
    • release_date<=2020-01-01 will return everything with a release date less than or equal to New Year’s Day, 2020.
  • Integer - supports the : (match), ! (negated match), <, <=, >, and >= operators. Requires simple integer input.
    • For cards that have an X value, you can match with X, like cost:X (case insensitive). an X value is treated as -1 behind the scenes.
  • String - supports the : (LIKE) and ! (NOT LIKE) operators. Input is transformed to lower case and the % decorations are added automatically, turning a query like title:street into a SQL fragment like LOWER(stripped_title) LIKE '%street%.
    • title:clearance returns everything with clearance in the title.
    • title!clearance returns everything without clearance in the title.

Fields and their types

  • card_cycle, c: Type: array
    • card_cycle_ids for printings of a card.
  • card_pool, z: Type: array
    • card_pool_ids for a card pool containing a card.
  • card_set, e: Type: array
    • card_set_id for a card, pulled in via printing.
  • card_subtype, s: Type: array
    • text names for card subtypes, matched as lowercase.
  • card_subtype_id: Type: array
    • card_subtype_ids for the card.
  • eternal_points: Type: array
    • Concatenation of restriction_id and an Eternal Points value, joined by a hyphen, like eternal_points:eternal_points_list_22_09-2.
  • format: Type: array
    • format_id for any format containing the card at any time.
  • has_global_penalty: Type: array
    • restriction_id restricting the card with a global penalty, like has_global_penalty:napd_mwl_1_1.
  • is_banned: Type: array
    • restriction_id specifying the card as banned, like is_banned:standard_ban_list_22_08.
  • is_restricted: Type: array
    • restriction_id specifying the card as banned, like is_restricted:standard_mwl_3_4_b.
  • printing_id: Type: array
    • printing_id for any printing of this card.
  • printings_released_by: Type: array
    • All organizations that have released printings for a card.
  • restriction_id, b: Type: array
    • restriction_id specifying the card for any reason, like: restriction_id:eternal_points_list_22_09
  • snapshot: Type: array
    • snapshot_id of a snapshot containing a card.
  • universal_faction_cost: Type: array
    • Concatenation of restriction_id and a Universal Faction Cost value, joined by a hyphen, like universal_faction_cost:napd_mwl_1_2-3.
  • additional_cost: Type: boolean
    • Does the card text specify an additional cost to play?
  • advanceable: Type: boolean
    • Is the card advanceable?
  • gains_subroutines: Type: boolean
    • Does the card text allow for adding or gaining subroutines?
  • in_restriction: Type: boolean
    • Is the card specified on any Restriction list?
  • interrupt: Type: boolean
    • Does the card have an interrupt ability?
  • is_unique, u: Type: boolean
    • Is the card unique?
  • on_encounter_effect: Type: boolean
    • Does the card text specify an on encounter effect?
  • performs_trace: Type: boolean
    • Does the card perform a trace?
  • rez_effect: Type: boolean
    • Does the card have a rez effect?
  • trash_ability: Type: boolean
    • Does the card provide a trash ability?
  • release_date, date_release, r: Type: date
    • The earliest release date for a card or the release date for the set for a printing.
  • advancement_cost, g: Type: integer
    • The advancement_cost value for an agenda. Accepts positive integers and X (case-insensitive).
  • agenda_points, v: Type: integer
    • The printed number of agenda points for the agenda.
  • base_link, l: Type: integer
    • The printed link value for an Identity.
  • cost, o: Type: integer
    • The printed cost of a card. Accepts positive integers and X (case-insensitive).
  • influence_cost, n: Type: integer
    • The influence cost or number of influence pips for the card.
  • link_provided: Type: integer
    • The amount of link provided.
  • memory_usage, m: Type: integer
    • The memory (MU) cost of this card.
  • mu_provided: Type: integer
    • The amount of memory (MU) provided by the card.
  • num_printed_subroutines: Type: integer
    • The number of printed subroutines on this card.
  • minimum_deck_size, min_deck_size: Type: integer
    • The minimum deck size required by an Identity.
  • num_printings: Type: integer
    • Count of unique printings for this card.
  • recurring_credits_provided: Type: integer
    • The number of recurring credits provided by this card. Accepts integers or X.
  • strength, p: Type: integer
    • The strength of the card. Accepts integers or X.
  • trash_cost, h: Type: integer
    • The trash cost of this card.
  • attribution: Type: string
    • The designer of this card text, if specified.
  • card_type, t: Type: string
    • card_type_id of this card.
  • designed_by: Type: string
    • The organization that designed the card.
  • faction, f: Type: string
    • faction_id of this card.
  • side, d: Type: string
    • side_id of the card.
  • text, x: Type: string
    • The text of a card, stripped of all formatting symbols and marks.
  • title, _: Type: string
    • The title of a card, stripped of all formatting symbols and marks.

Endpoint

GET /api/v3/public/cards?filter[search]=:query

Parameters

Name Description Type
query required Query string

Request

Route

GET /api/v3/public/cards?filter[search]=gamble

Headers

Content-Type: application/json
Host: api-preview.netrunnerdb.com

Query Parameters

filter={"search" => "gamble"}

cURL

curl -g "https://api-preview.netrunnerdb.com/api/v3/public/cards?filter[search]=gamble" -X GET 

Response

Simulated Response

Status

200

Headers

content-type: application/vnd.api+json; charset=utf-8

Body

{
  "data": [
    {
      "id": "sure_gamble",
      "type": "cards",
      "attributes": {
        "stripped_title": "Sure Gamble",
        "title": "Sure Gamble",
        "card_type_id": "event",
        "side_id": "runner",
        "faction_id": "neutral_runner",
        "cost": "5",
        "advancement_requirement": null,
        "agenda_points": null,
        "base_link": null,
        "deck_limit": 3,
        "in_restriction": false,
        "influence_cost": 0,
        "influence_limit": null,
        "memory_cost": null,
        "minimum_deck_size": null,
        "num_printings": 2,
        "printing_ids": [
          "01050",
          "01064"
        ],
        "date_release": "2012-09-06",
        "restriction_ids": [],
        "strength": null,
        "stripped_text": "Gain 9 credits.",
        "text": "Gain 9[credit].",
        "trash_cost": null,
        "is_unique": false,
        "card_subtype_ids": [],
        "display_subtypes": null,
        "attribution": null,
        "updated_at": "2025-06-19T20:15:47+00:00",
        "format_ids": [
          "eternal",
          "standard",
          "startup"
        ],
        "card_pool_ids": [
          "eternal_01",
          "standard_01",
          "standard_02",
          "startup_01",
          "startup_02"
        ],
        "snapshot_ids": [
          "eternal_01",
          "standard_01",
          "standard_02",
          "standard_03",
          "standard_04",
          "standard_05",
          "startup_01",
          "startup_02"
        ],
        "card_cycle_ids": [
          "core",
          "core"
        ],
        "card_cycle_names": [
          "Core Set",
          "Core Set"
        ],
        "card_set_ids": [
          "core",
          "core"
        ],
        "card_set_names": [
          "Core",
          "Core"
        ],
        "designed_by": null,
        "printings_released_by": [
          ""
        ],
        "pronouns": null,
        "pronunciation_approximation": null,
        "pronunciation_ipa": null,
        "layout_id": "normal",
        "num_extra_faces": 0,
        "faces": [],
        "card_abilities": {
          "additional_cost": false,
          "advanceable": false,
          "gains_subroutines": false,
          "interrupt": false,
          "link_provided": null,
          "mu_provided": null,
          "num_printed_subroutines": null,
          "on_encounter_effect": false,
          "performs_trace": false,
          "recurring_credits_provided": null,
          "rez_effect": false,
          "trash_ability": false
        },
        "restrictions": {
          "banned": [],
          "global_penalty": [],
          "points": {},
          "restricted": [],
          "universal_faction_cost": {}
        },
        "latest_printing_id": "01050"
      },
      "relationships": {
        "card_cycles": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/card_cycles?filter[id]=core,core"
          }
        },
        "card_sets": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/card_sets?filter[id]=core,core"
          }
        },
        "card_subtypes": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/card_subtypes?filter[id]=none"
          }
        },
        "card_type": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/card_types/event"
          }
        },
        "faction": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/factions/neutral_runner"
          }
        },
        "printings": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/printings?filter[card_id]=sure_gamble"
          }
        },
        "rulings": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/rulings?filter[card_id]=sure_gamble"
          }
        },
        "reviews": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/reviews?filter[card_id]=sure_gamble"
          }
        },
        "side": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/sides/runner"
          }
        },
        "decklists": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/decklists?filter[card_id]=sure_gamble"
          }
        },
        "card_pools": {
          "links": {
            "related": "http://localhost:3000/api/v3/public/card_pools?filter[card_id]=sure_gamble"
          }
        }
      },
      "links": {
        "self": "http://localhost:3000/api/v3/public/cards/sure_gamble"
      }
    }
  ],
  "links": {
    "self": "http://localhost:3000/api/v3/public/cards?filter%5Bsearch%5D=gamble&page%5Bnumber%5D=1&page%5Bsize%5D=1000&stats%5Btotal%5D=count",
    "first": "http://localhost:3000/api/v3/public/cards?filter%5Bsearch%5D=gamble&page%5Bnumber%5D=1&page%5Bsize%5D=1000&stats%5Btotal%5D=count",
    "last": "http://localhost:3000/api/v3/public/cards?filter%5Bsearch%5D=gamble&page%5Bnumber%5D=1&page%5Bsize%5D=1000&stats%5Btotal%5D=count"
  },
  "meta": {
    "stats": {
      "total": {
        "count": 1
      }
    }
  }
}