Welcome Karan!
By default, the Airtable API does not provide the kind of inter-base calls you’re looking to make, but what you’re looking for should be possible with some development work.
A high-level overview of how this could work, looks something like:
- Have a list accessible with all Airtable base IDs you would like to read from (these are the
app*****
ids listed on the API documentation).
- Write a script/app that iterates over all 5 base IDs making the appropriate call to list records (either the GET request if using cURL, or
base('{Table Name}').select()
if using the Javascript library.
- Handle the results as needed, either stopping after the first result, or compiling results from all bases if needed.
Since all of your bases have an identical base structure and column headers, this should reduce the amount of custom code needed to parse different bases—the same API call should work for all bases, just passing in the unique base ID for each one.
Here are some potential examples for both the cURL and Javascript flavors of the API. If using the cURL API, you might find Airtable’s URL encoder to be handy for creating the filterByFormula
to select your LinkedIn records.
curl "https://api.airtable.com/v0/app*****/{Table Name}?maxRecords=3&filterByFormula=%7BLinkedIn%7D%3D%22myLinkedInId%22&view={View} \
-H "Authorization: Bearer YOUR_API_KEY"
var base = new Airtable({apiKey: 'YOUR_API_KEY'}).base('app****');
base({Table Name}).select({
maxRecords: 3,
view: "View",
filterByFormula: '{LinkedIn ID} = "myLinkedInId"'
})
If this answers your question, please consider marking it as “solution”. If not, I’m happy to work with you further. Thanks!