How to search for specific value through API filterByFormula?


My “Published URL” column contains URLs of web pages.

Through API, I would like to be able to pull only the record containing a URL I supply in the call.

I am already successfully making a curl call with this…

  $base = 'appPtTr2kigmLlCP8';
  $table = 'Content';
  $view = urlencode('Published (Robert)');

  // $fields = urlencode('Published URL'); // Only return these fields, cf.
  if (!empty($offset)) {
    $q_offset = '&offset='.$offset;
  $airtable_url = '' . $base . '/' . $table;

  // construct the url query
  $url = '' . $base . '/' . $table . '?maxRecords=5&pagesize=1000&view='.$view . $q_offset;

But how can I make use of the relevant feature (is it filterByFormula?) to add

Elsewhere on the forum, I have seen reference like…


But I have not crystallised how I would perform a query for the record with a specific “Published URL” value.

How do I do this, and what do I need to know about encoding a URL and the whole query parameter pair?




filterByFormula allows you to apply an Airtable formula to limit the records that are returned. If I understand your question correctly, rather than trying to fetch a record by its Airtable record ID, you want to fetch it based on a different field value.

You can do this by doing filterByFormula={Field Name}="value". When your field names have a space in them, you have to wrap the name in curly brackets (you can also do this for field names that don’t have a space character, but it is not required). You should be aware that making a GET call with filterByFormula will always return a list of records, even if that list only has one value in it.

You can use this Airtable API Encoder to check how you should encode your data.