The DevXP engineering team hosts office hours every Thursday at 11 a.m.
Pacific Time where we answer your questions live and help you get up and
running with Flatfile. Join
us!
Overview
Search by value
Here’s an example request for searching for rows where the First Name column is “Bender” and the Last Name column is “Rodriguez”.GET sheets/<sheetId>/records request
query
Search for null
Here’s an example request for searching for rows where the First Name column is null.GET sheets/<sheetId>/records request
query
Syntax
The basic syntax of FFQL is:Field Name
field name
is optional and excluding a field name will search across all fields. For example: eq "Planet Express"
will search across all fields for that value.
field name
can be the field key or the field label.
Labels or values with spaces should be wrapped in quotes. For example: name eq "Bender Rodriguez"
, or "First Name" eq Bender
.
Operators
FFQL operators are:eq
- Equals (exact match)ne
- Not Equallt
- Less Thangt
- Greater Thanlte
- Less Than or Equal Togte
- Greater Than or Equal Tolike
- (Case Sensitive) Likeilike
- (Case Insensitive) Likecontains
- Contains (for columns of typestring-list
andenum-list
)
like
and ilike
support the following wildcards:
%
- Matches any number of characters_
- Matches a single character
like "Bender%"
would match “Bender Rodriguez” and “Bender Bending Rodriguez”.
Logical Operators
FFQL supports two logical operators:and
- Returns rows meeting both conditionsor
- Returns rows meeting either conditions (inclusive)
The is
Operator
The is
operator allows you to query for validation status at both the record and field level:
is error
- Returns all rows that have any validation errorsis valid
- Returns all rows that have no validation errorsfirst_name is error
- Returns rows where the First Name field specifically has validation errorsfirst_name is valid
- Returns rows where the First Name field has no validation errors
The
is
operator works with Advanced Filters to create dynamic filters that combine field selection with validation status checks.Constructing Queries
Complex queries are possible using a combination of operators:- Have a Gmail email address,
- Have a Subscription Status of “On-Hold” or “Pending”,
- And have more than 5 login attempts.
It will also include any rows that have a “Warning” message status.
Usage
Via search bar
From the search bar in a Workbook, prepend filter: to your FFQL query.type in search bar
Via Advanced Filters
The Advanced Filters feature allows you to build complex FFQL queries through a user-friendly interface. You can select fields, choose operators (including theis
operator for validation status), and specify values to create dynamic filters.
To use Advanced Filters:
- Click the “Filter” button in the toolbar
- Select “Advanced filter” from the dropdown menu
- Build your query by adding conditions and selecting operators
- Apply the filter to see the filtered results
is
operator.
Via API
FFQL queries can be passed to any endpoint that supports theq
parameter.
Here’s an example cURL request using the sheets/<sheetId>/records
endpoint:
Shell / cURL