How to call method at App start if I am using provider?

You can store TenderApiData as member of MyApp, make a startup call in MyApp constructor and pass existing instance to descendants.
Here is how it will look:

class MyApp extends StatelessWidget {

  final TenderApiData _tenderApiData = TenderApiData();

  MyApp() {
    _tenderApiData.getApiKey();
  };

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ChangeNotifierProvider<TenderApiData>(
          builder: (_) => _tenderApiData, child: HomePage()),
    );
  }
}

Other classes will stay unchanged.

Another option would be to pass TenderApiData as constructor parameter into MyApp, making it more testable.

void main() {
  final TenderApiData tenderApiData = TenderApiData();
  tenderApiData.getApiKey(); // call it here or in MyApp constructor - now it can be mocked and tested
  runApp(MyApp(tenderApiData));
}

class MyApp extends StatelessWidget {

  final TenderApiData _tenderApiData;

  MyApp(this._tenderApiData);

// ...

You can add a constructor on your TenderApiData do trigger custom logic:

class TenderApiData with ChangeNotifier {
  TenderApiData() {
    // TODO: call `getApiKey`
  }
}