Every call goes to a versioned endpoint, something like `/services/data/v62.0/`, and that version number matters less than people expect. Salesforce adds a version with each release but keeps supporting old ones for years, so an integration built against an older version doesn't just stop working the next time a release rolls out.
You can query records with SOQL through the same API, run standard create/read/update/delete calls against any object, and reach custom objects exactly the way you'd reach a standard one. For large jobs, moving tens of thousands of records at once, the Bulk API handles it asynchronously instead of making you fire off calls one at a time.
The older SOAP API still works too, and some long-running integrations are still built on it, but almost everything new goes through REST now. Either way, there's no permanent static API key to copy and paste. Access runs through a Connected App and OAuth tokens, which is the part most people building their first integration get stuck on, not the data calls themselves.