Help

Metadata API for schema and mutating tables

Topic Labels: API
18810 40
cancel
Showing results for 
Search instead for 
Did you mean: 
Simon_Horup_Es1
6 - Interface Innovator
6 - Interface Innovator

Is there any plan for an API to pull metadata? It’s currently very difficult to infer the schema, you have to resort to hacks like reading all records and then trying to infer types and column names from that. It’d be great if you could pull the schema information for a table more easily!

It’d also be awesome if you’d be able to add and change tables from the API, but that’s less pressing to me :slightly_smiling_face:

40 Replies 40
Richard_Casemor
5 - Automation Enthusiast
5 - Automation Enthusiast

+1 Readable metadata as a minimum!

Sean_Thompson
4 - Data Explorer
4 - Data Explorer

This is a real bummer and would be very useful. Its 2020 now and still no response… frustrating

Yep. A half-decade waiting. This is the equivalent of 35 Internet years; roughly half the lifetime of the product.

The request for a simple Split() function is also in the 5yr range. Unbelievable.

100% this… I’m wanting to work on a big integration with Airtable into my existing application, but it’s way too hard without having Schema definitions… its like you said… brittle and unpredictable - if I don’t know what type of field I’m working with, I can’t make a good experience for our users.

Sean_O_Shea1
4 - Data Explorer
4 - Data Explorer

This is critical functionality and would make Airtable a much more powerful tool.

Edgar_Calderon
5 - Automation Enthusiast
5 - Automation Enthusiast

I was seeing? the codepen Airtable API Encoder, and I be reading the comments of this post, and i thinking that if is possible add more complex options to the codepen code for econde our Api to get more and best request? is for this that zapier can do other functions that we dont can?

is possible implement this code in a function with the link to url?

David_Rosentrat
4 - Data Explorer
4 - Data Explorer

+1 for this feature request. It would be hugely beneficial and the community has been asking for it for years.

Steve_Penson
5 - Automation Enthusiast
5 - Automation Enthusiast

I agree this functionality would be very useful.

aaron_altamura
6 - Interface Innovator
6 - Interface Innovator

+1 Geeeeeeeese. Come on AT.

Felipe_Edoardo
4 - Data Explorer
4 - Data Explorer

Sometimes it’s hard to understand whether Airtable really is trying to be a professional solution or not.

Are you guys aware of the many ways that have emerged to get at the schema? Here’s one. There are others like this one, and this one.

Yes, because clearly a hack is much better than a proper metadata API.

Tom_Beckenham
4 - Data Explorer
4 - Data Explorer

Is the way to do this now to create a custom block? Looks like its possible through that - Airtable Blocks SDK

DanielAssayag
6 - Interface Innovator
6 - Interface Innovator

I know this is a bit of middle ages as you have to press the button RUN everytime you need to modify your tables…
But i got this as a compromise.

Create a new table where you will store your Schema.
I called it ‘Ledger’ just for clarity.

create a block and use this code, it will populate it with the names of your tables, and then you can use it to make api calls.

let ledger = base.getTable('Ledger');
let tableList = []

for (table of base.tables) {tableList.push({fields: {'Name' : table.name}})}

await ledger.createRecordsAsync(tableList)

if you want to avoid async random return order of your records you can store it in a string and then parse it as an array in your app.

let ledger = base.getTable('Ledger');
let tableList = ""

for (table of base.tables) {
    if (base.tables.indexOf(table) == base.tables.length - 1) {
         tableList += table.name
    }
    else {
    tableList += table.name + ", "
    }
}

await ledger.createRecordsAsync([{
            fields: {'Name' : tableList }
}])

Should be native, no? :frowning:

I don’t understand your comment. I’m very old; give me more context.

douglaslassance
6 - Interface Innovator
6 - Interface Innovator

I would love to be able to create an object-oriented Python API for my Airtable base. The current inability to query the schema definition via the API is a problem.

And I’m feeling old. Perhaps best to move along :grinning_face_with_big_eyes:

I tried this and it works great!. I save the json out to a file, then load it into python / dataframe for various uses. Thanks Chester.