Skip to main content

What it does

The Search Airtable tool queries records in a specific table. It supports three query modes, all with offset-based pagination:
  1. Free-text search — pass a searchTerm + searchFields to match a case-insensitive substring across named fields (the tool builds an OR(SEARCH(...)) formula for you)
  2. Formula filter — pass a raw filterByFormula for full Airtable formula-language filtering (AND/OR logic, date math, linked-record filtering, etc.)
  3. Plain list — omit filters and just list records, optionally scoped to a view, with sort/fields/maxRecords applied

Key features

  • Three complementary query modes covering quick lookups through complex structured filters
  • Case-insensitive free-text search across any set of fields
  • Full Airtable formula language support for structured filters
  • Sort by one or more fields, ascending or descending
  • Scope results to a named view (honors the view’s own filter/sort)
  • Return only specific fields to keep responses small
  • Offset-based pagination via nextOffset

Parameters

Common use cases

Free-text find

Returns any contact whose name, company, or email contains “acme” (case-insensitive).

Structured filter with formula

Returns up to 25 future-dated negotiation deals, highest value first, with only the listed fields.

Scope to a view

Returns records as the named view shows them — with whatever filter and sort the view defines.

Paginate a large table

First call:
Subsequent calls:
Repeat until hasMore is false.

What you get back

  • records[] — each with id, createdTime, and a fields object keyed by field name
  • count — number of records in this response
  • hasMore — boolean indicating whether more records are available
  • nextOffset — opaque cursor to pass as offset on the next call (null when hasMore is false)

Best practices

  • Prefer table IDs over names when the table might be renamed — names work but break on rename; IDs are stable
  • Use fields aggressively — limiting the response to 3–5 fields massively reduces token usage
  • For AND/OR logic across fields, use filterByFormulasearchTerm only supports OR across fields with a single substring
  • For large tables, set a sensible maxRecords — the default paginates through the entire table which can be thousands of calls
  • Scope to a view when users have already built a saved filter in Airtable — agents don’t need to recreate the logic

Troubleshooting

“searchFields is required when using searchTerm”
  • Pass the list of fields to search within: searchFields: ["Name", "Description"]
  • Or use filterByFormula instead for more complex queries
“Invalid formula”
  • Wrap field names in {}: {Status}='Active', not Status='Active'
  • Escape single quotes inside string literals: \'
  • Validate the formula in Airtable’s formula field playground before passing it in
“Wrong table” / “Unknown field”
  • Call airtable_get_schema with the baseId to confirm exact table and field names
  • Field names are case-sensitive
“Results don’t match expectations with a view”
  • Views apply their own filter and sort on top of yours — if the view already hides records, your filter can only narrow further
  • Drop the view parameter to query the full table