---
type: "firecrawl-provider"
description: "BFI Collections Search (collections-search.bfi.org.uk), the British Film Institute's public catalogue of the BFI National Archive and BFI Reuben Library (Axiell Internet Server): expert search of any of its 12 databases (film and television works, film/video items, books, serials, articles, press cuttings, scripts and documents, posters, stills, special collections, library, persons and institutions) with field conditions, sorting and paging; the full label/value record of a work, person, item or book with its cross-reference links and the related records of its hierarchy; the searchable fields and sort options of a database; and controlled-vocabulary term lookups (genre, subject, ...). Read-only; no selections, downloads or e-mail features."
use_when: "BFI Collections Search (collections-search.bfi.org.uk), the British Film Institute's public catalogue of the BFI National Archive and BFI Reuben Library (Axiell Internet Server): expert search of any of its 12 databases (film and television works, film/video items, books, serials, articles, press cuttings, scripts and documents, posters, stills, special collections, library, persons and institutions) with field conditions, sorting and paging; the full label/value record of a work, person, item or book with its cross-reference links and the related records of its hierarchy; the searchable fields and sort options of a database; and controlled-vocabulary term lookups (genre, subject, ...). Read-only; no selections, downloads or e-mail features."
categories: "Entertainment"
capabilities: 4
credits_per_call: 5
---
# BFI Collections Search on Firecrawl Alexandria

BFI Collections Search (collections-search.bfi.org.uk), the British Film Institute's public catalogue of the BFI National Archive and BFI Reuben Library (Axiell Internet Server): expert search of any of its 12 databases (film and television works, film/video items, books, serials, articles, press cuttings, scripts and documents, posters, stills, special collections, library, persons and institutions) with field conditions, sorting and paging; the full label/value record of a work, person, item or book with its cross-reference links and the related records of its hierarchy; the searchable fields and sort options of a database; and controlled-vocabulary term lookups (genre, subject, ...). Read-only; no selections, downloads or e-mail features.

- Categories: Entertainment
- Category index: [Entertainment category](https://firecrawl.dev/alexandria/agents/categories/entertainment)
- Provider key: `collections-search-bfi-org-uk`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/collections-search-bfi-org-uk)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/openapi.json)

## Capabilities

- [Get record](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/get_record): One catalogue record by database and priref (GET /web/Details/{database}/{priref}): every label/value row of the site's detail display with the value's text lines and links (field-search cross-references such as cast and credit prirefs, genre and subject term ids, linked items by object number, linked books and articles by priref; external links such as EIDR), the record's title, and the related records of its hierarchy display (film works list their film/video items with object number, format and status). Film works, persons/institutions, film items and books were verified; the other databases share the same page template.
- [List search fields](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/list_search_fields): The expert-search field list of one database (GET /web/search/getexpertsearchfields?sourcename={database}): field names and labels usable in `search_records` conditions, the sort fields and the page sizes the form offers.
- [Lookup terms](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/lookup_terms): Controlled-vocabulary browse for a search field (GET /web/helper/GetLookupValues): the site's lookup popup for fields such as Field_Genre or Field_SubjectMuseum returns the vocabulary terms from the alphabetical position of `term` onwards (one window of up to 32 terms) with the total count. Terms are exact values for `search_records` conditions with truncation off.
- [Search records](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/search_records): Expert search of one BFI Collections Search database (POST /web/search/expert): one to five field conditions (field name from `list_search_fields`, value, right-truncation on by default, and/or/and-not connective), an optional sort field and direction, 10 to 250 records per page and a page number. Returns the result count, the page navigator and the brief rows of the requested page: priref, detail URL, title and the summary lines the site renders (credits, dates, country, work type, 'Part of:' series; activity type for persons) plus the collection badges (Film / Video material, Books, Articles, ...). Page 1 comes from the search POST; later pages re-run the search and read /web/results/{page} in the same session.

## 1. Choose this provider when

BFI Collections Search (collections-search.bfi.org.uk), the British Film Institute's public catalogue of the BFI National Archive and BFI Reuben Library (Axiell Internet Server): expert search of any of its 12 databases (film and television works, film/video items, books, serials, articles, press cuttings, scripts and documents, posters, stills, special collections, library, persons and institutions) with field conditions, sorting and paging; the full label/value record of a work, person, item or book with its cross-reference links and the related records of its hierarchy; the searchable fields and sort options of a database; and controlled-vocabulary term lookups (genre, subject, ...). Read-only; no selections, downloads or e-mail features.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "collections-search-bfi-org-uk",
  "capability": "records/get_record",
  "options": {
    "database": "People",
    "priref": "222439"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `database` (string): Database of the record. Required unless `priref` is a full /web/Details/{database}/{priref} URL. Example: `ChoiceFilmWorks`
- `priref` (string, required): Numeric record identifier (150019971) or a pasted record URL (https://collections-search.bfi.org.uk/web/Details/ChoiceFilmWorks/150019971). Example: `<priref>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "collections-search-bfi-org-uk",
    capability: "records/get_record",
    options: {
      database: "People",
      priref: "222439",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "collections-search-bfi-org-uk",
  "capability": "records/get_record",
  "options": {
    "database": "People",
    "priref": "222439"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "collections-search-bfi-org-uk",
    "capability": "records/get_record",
    "options": {
      "database": "People",
      "priref": "222439"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'collections-search-bfi-org-uk/records/get_record' \
  --options '{"database":"People","priref":"222439"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "collections-search-bfi-org-uk",
  "capability": "records/get_record",
  "options": {
    "database": "People",
    "priref": "222439"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "collections-search-bfi-org-uk",
  "capability": "records/get_record",
  "options": {
    "database": "People",
    "priref": "222439"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "database": "People",
  "fields": [
    {
      "label": "Name",
      "lines": [
        "Stanley Holloway (view filmography / view articles about person / view articles by person)"
      ],
      "links": [
        {
          "database": "ChoiceFilmWorks",
          "field": "Field_Cast_Credit_Reference",
          "priref": null,
          "text": "view filmography",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceFilmWorks&fieldname=Field_Cast_Credit_Reference&value=222439",
          "value": "222439"
        },
        {
          "database": "ChoiceArticles",
          "field": "Field_PersonKeyword_Reference",
          "priref": null,
          "text": "view articles about person",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceArticles&fieldname=Field_PersonKeyword_Reference&value=222439",
          "value": "222439"
        },
        {
          "database": "ChoiceArticles",
          "field": "Field_AuthorName_Reference",
          "priref": null,
          "text": "view articles by person",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceArticles&fieldname=Field_AuthorName_Reference&value=222439",
          "value": "222439"
        }
      ],
      "value": "Stanley Holloway (view filmography / view articles about person / view articles by person)"
    },
    {
      "label": "Name note",
      "lines": [
        "Born Stanley Augustus Holloway. Son actor Julian Holloway."
      ],
      "links": [],
      "value": "Born Stanley Augustus Holloway. Son actor Julian Holloway."
    },
    {
      "label": "Activity type",
      "lines": [
        "Cast (person)",
        "Direction (person)",
        "Presentation (person)"
      ],
      "links": [],
      "value": "Cast (person)\nDirection (person)\nPresentation (person)"
    },
    {
      "label": "Birth date",
      "lines": [
        "1890-10-01"
      ],
      "links": [],
      "value": "1890-10-01"
    },
    {
      "label": "Birth country",
      "lines": [
        "England"
      ],
      "links": [],
      "value": "England"
    },
    {
      "label": "Birth place",
      "lines": [
        "Manor House, London"
      ],
      "links": [],
      "value": "Manor House, London"
    },
    {
      "label": "Death date",
      "lines": [
        "1982-01-30"
      ],
      "links": [],
      "value": "1982-01-30"
    },
    {
      "label": "Death country",
      "lines": [
        "England"
      ],
      "links": [],
      "value": "England"
    },
    {
      "label": "Death place",
      "lines": [
        "Littlehampton Sussex"
      ],
      "links": [],
      "value": "Littlehampton Sussex"
    },
    {
      "label": "Nationality",
      "lines": [
        "English"
      ],
      "links": [],
      "value": "English"
    },
    {
      "label": "-other materials",
      "lines": [
        "micro-jacket",
        "stills"
      ],
      "links": [],
      "value": "micro-jacket\nstills"
    },
    {
      "label": "Stills",
      "lines": [
        "black and white",
        "transparency"
      ],
      "links": [],
      "value": "black and white\ntransparency"
    }
  ],
  "observed_at_ms": 1791608410545,
  "priref": "222439",
  "related_records": [],
  "source_url": "https://collections-search.bfi.org.uk/web/Details/People/222439",
  "title": "Stanley Holloway"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Get record

- Capability: `records/get_record`
- Description: One catalogue record by database and priref (GET /web/Details/{database}/{priref}): every label/value row of the site's detail display with the value's text lines and links (field-search cross-references such as cast and credit prirefs, genre and subject term ids, linked items by object number, linked books and articles by priref; external links such as EIDR), the record's title, and the related records of its hierarchy display (film works list their film/video items with object number, format and status). Film works, persons/institutions, film items and books were verified; the other databases share the same page template.
- Instructions: Read the full record behind a `search_records` row or a pasted /web/Details/{database}/{priref} URL.
- Cost: 5 credits per call
- Capability file: [Get record](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/get_record)

Accepted options:
- `database` (string): Database of the record. Required unless `priref` is a full /web/Details/{database}/{priref} URL. Example: `ChoiceFilmWorks`
- `priref` (string, required): Numeric record identifier (150019971) or a pasted record URL (https://collections-search.bfi.org.uk/web/Details/ChoiceFilmWorks/150019971). Example: `<priref>`

Response schema example:
```json
{
  "database": "People",
  "fields": [
    {
      "label": "Name",
      "lines": [
        "Stanley Holloway (view filmography / view articles about person / view articles by person)"
      ],
      "links": [
        {
          "database": "ChoiceFilmWorks",
          "field": "Field_Cast_Credit_Reference",
          "priref": null,
          "text": "view filmography",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceFilmWorks&fieldname=Field_Cast_Credit_Reference&value=222439",
          "value": "222439"
        },
        {
          "database": "ChoiceArticles",
          "field": "Field_PersonKeyword_Reference",
          "priref": null,
          "text": "view articles about person",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceArticles&fieldname=Field_PersonKeyword_Reference&value=222439",
          "value": "222439"
        },
        {
          "database": "ChoiceArticles",
          "field": "Field_AuthorName_Reference",
          "priref": null,
          "text": "view articles by person",
          "url": "https://collections-search.bfi.org.uk/web/search/detail?database=ChoiceArticles&fieldname=Field_AuthorName_Reference&value=222439",
          "value": "222439"
        }
      ],
      "value": "Stanley Holloway (view filmography / view articles about person / view articles by person)"
    },
    {
      "label": "Name note",
      "lines": [
        "Born Stanley Augustus Holloway. Son actor Julian Holloway."
      ],
      "links": [],
      "value": "Born Stanley Augustus Holloway. Son actor Julian Holloway."
    },
    {
      "label": "Activity type",
      "lines": [
        "Cast (person)",
        "Direction (person)",
        "Presentation (person)"
      ],
      "links": [],
      "value": "Cast (person)\nDirection (person)\nPresentation (person)"
    },
    {
      "label": "Birth date",
      "lines": [
        "1890-10-01"
      ],
      "links": [],
      "value": "1890-10-01"
    },
    {
      "label": "Birth country",
      "lines": [
        "England"
      ],
      "links": [],
      "value": "England"
    },
    {
      "label": "Birth place",
      "lines": [
        "Manor House, London"
      ],
      "links": [],
      "value": "Manor House, London"
    },
    {
      "label": "Death date",
      "lines": [
        "1982-01-30"
      ],
      "links": [],
      "value": "1982-01-30"
    },
    {
      "label": "Death country",
      "lines": [
        "England"
      ],
      "links": [],
      "value": "England"
    },
    {
      "label": "Death place",
      "lines": [
        "Littlehampton Sussex"
      ],
      "links": [],
      "value": "Littlehampton Sussex"
    },
    {
      "label": "Nationality",
      "lines": [
        "English"
      ],
      "links": [],
      "value": "English"
    },
    {
      "label": "-other materials",
      "lines": [
        "micro-jacket",
        "stills"
      ],
      "links": [],
      "value": "micro-jacket\nstills"
    },
    {
      "label": "Stills",
      "lines": [
        "black and white",
        "transparency"
      ],
      "links": [],
      "value": "black and white\ntransparency"
    }
  ],
  "observed_at_ms": 1791608410545,
  "priref": "222439",
  "related_records": [],
  "source_url": "https://collections-search.bfi.org.uk/web/Details/People/222439",
  "title": "Stanley Holloway"
}
```

### List search fields

- Capability: `records/list_search_fields`
- Description: The expert-search field list of one database (GET /web/search/getexpertsearchfields?sourcename={database}): field names and labels usable in `search_records` conditions, the sort fields and the page sizes the form offers.
- Instructions: Before `search_records` on a database whose field names you do not know.
- Cost: 5 credits per call
- Capability file: [List search fields](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/list_search_fields)

Accepted options:
- `database` (string, required): database Example: `ChoiceFilmWorks`

Response schema example:
```json
{
  "connectives": [
    "And",
    "Or",
    "AndNot"
  ],
  "database": "People",
  "fields": [
    {
      "label": "Name",
      "name": "Field_Name"
    },
    {
      "label": "Activity type",
      "name": "Field_Activity_type"
    },
    {
      "label": "Nationality",
      "name": "Field_Nationality"
    }
  ],
  "observed_at_ms": 1791608418261,
  "page_sizes": [
    10,
    25,
    50,
    100,
    250
  ],
  "sort_options": [
    {
      "label": "Unsorted",
      "name": "Search_Unsorted"
    },
    {
      "label": "Name",
      "name": "Search_SortName"
    }
  ],
  "source_url": "https://collections-search.bfi.org.uk/web/search/getexpertsearchfields?sourcename=People"
}
```

### Lookup terms

- Capability: `records/lookup_terms`
- Description: Controlled-vocabulary browse for a search field (GET /web/helper/GetLookupValues): the site's lookup popup for fields such as Field_Genre or Field_SubjectMuseum returns the vocabulary terms from the alphabetical position of `term` onwards (one window of up to 32 terms) with the total count. Terms are exact values for `search_records` conditions with truncation off.
- Instructions: Find the exact genre, subject, work type or other authority term spelling before searching on it.
- Cost: 5 credits per call
- Capability file: [Lookup terms](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/lookup_terms)

Accepted options:
- `database` (string, required): database Example: `ChoiceFilmWorks`
- `field` (string, required): Field with a lookup list, e.g. Field_Genre or Field_SubjectMuseum on ChoiceFilmWorks. Pattern: ^Field_[A-Za-z0-9_]{1,80}$. Example: `<field>`
- `search_type` (string): Which form's lookup to use; the vocabulary is the same. Example: `advanced`
- `term` (string, required): Starting point in the alphabetical list. Example: `<term>`

Response schema example:
```json
{
  "database": "ChoiceFilmWorks",
  "field": "Field_Genre",
  "field_label": "Genre",
  "observed_at_ms": 1791608425029,
  "source_url": "https://collections-search.bfi.org.uk/web/helper/GetLookupValues?searchType=advanced&database=ChoiceFilmWorks&fieldName=Field_Genre&term=west",
  "term": "west",
  "terms": [
    "Western",
    "Wildlife TV programme"
  ],
  "total": 2
}
```

### Search records

- Capability: `records/search_records`
- Description: Expert search of one BFI Collections Search database (POST /web/search/expert): one to five field conditions (field name from `list_search_fields`, value, right-truncation on by default, and/or/and-not connective), an optional sort field and direction, 10 to 250 records per page and a page number. Returns the result count, the page navigator and the brief rows of the requested page: priref, detail URL, title and the summary lines the site renders (credits, dates, country, work type, 'Part of:' series; activity type for persons) plus the collection badges (Film / Video material, Books, Articles, ...). Page 1 comes from the search POST; later pages re-run the search and read /web/results/{page} in the same session.
- Instructions: Find BFI catalogue records (films, TV programmes, archive items, books, articles, posters, stills, people) matching field conditions, then follow the prirefs with `get_record`. Use `list_search_fields` first when unsure which field names a database supports.
- Cost: 5 credits per call
- Capability file: [Search records](https://firecrawl.dev/alexandria/agents/providers/collections-search-bfi-org-uk/records/search_records)

Accepted options:
- `conditions` (object[], required): Field conditions combined in order with each condition's connective (the first connective is ignored by the site). Example: `[]`
- `database` (string, required): Database (the form's SourceName): ChoiceFilmWorks = Film and Television Works, ChoiceFilmItems = film/video items, People = Persons and Institutions, ChoiceBooks, ChoiceSerials, ChoiceArticles, ChoicePresscuttings, ChoiceArchive (scripts, documents, ephemera), ChoicePosters, ChoiceStills, ChoiceSpecialCollections, ChoiceLibrary. Example: `ChoiceFilmWorks`
- `page` (number): 1-based results page. Pass `next_page` from the previous output to continue. Example: `1`
- `page_size` (number): Records per page; the site offers exactly these sizes. Example: `25`
- `sort_direction` (string): sort_direction Example: `Ascending`
- `sort_field` (string): Sort field from `list_search_fields` sort_options (Search_SortTitle, Search_SortTitleDate, Search_SortName, ...). Default Search_Unsorted (the site's relevance/record order). Pattern: ^Search_[A-Za-z0-9_]{1,60}$. Example: `list_search_fields`

Response schema example:
```json
{
  "count": 2,
  "database": "People",
  "database_label": "Persons and Institutions",
  "next_page": null,
  "observed_at_ms": 1791608339241,
  "page": 1,
  "page_count": 1,
  "page_size": 10,
  "results": [
    {
      "collections": [],
      "detail_url": "https://collections-search.bfi.org.uk/web/Details/People/222439",
      "lines": [
        "Holloway, Stanley",
        "Cast (person), Direction (person), Presentation (person)",
        "Born: 1890-10-01, Manor House, London, England",
        "Name note: Born Stanley Augustus Holloway. Son actor Julian Holloway."
      ],
      "links": [],
      "position": 1,
      "priref": "222439",
      "title": "Holloway, Stanley"
    },
    {
      "collections": [],
      "detail_url": "https://collections-search.bfi.org.uk/web/Details/People/999592270",
      "lines": [
        "HOLLOWAY, Stanley"
      ],
      "links": [],
      "position": 2,
      "priref": "999592270",
      "title": "HOLLOWAY, Stanley"
    }
  ],
  "search_description": "Name = Holloway, Stanley",
  "source_url": "https://collections-search.bfi.org.uk/web/results",
  "total": 2
}
```
