leijman/fmp-api-sdk

Financial modeling prep API SDK.

v0.2 2021-03-05 15:31 UTC

This package is auto-updated.

Last update: 2024-04-05 22:23:40 UTC


README

Version CI Total Downloads License

(unofficial) Financial Modeling Prep API SDK for PHP with Laravel 8 support.
This project is in WIP state and may be unstable. Various endpoints will be added in the future and feel free to contribute to this package. Unfortunately I can't guarantee any warranty or liability for this SDK. For any questions feel free to contact me!

Requirements

  • PHP ^7.3 or ^8.0
  • A valid (free) API key from FMP

Installation

This SDK is published on Packagist and can be obtained via composer.

composer require leijman/fmp-api-sdk

Usage

The SDK uses Guzzle as dependency for interacting with the HTTP layer.

$guzzle = new Client([
    'base_uri' => $baseUrl,
    'headers' => [
        'Accept' => 'application/json',
        'Content-Type' => 'application/json'
    ],
    'query' => ['apikey' => $apiKey]
]);

You can now use the Guzzle client as a dependency.

$client = new \Leijman\FmpApiSdk\Client($guzzle);

To communicate to the various endpoint you can use the client like so:

use \Leijman\FmpApiSdk\CompanyValuation\Quote;

$endpoint = new Quote($client);
$response = $endpoint->setSymbol('AAPL')->get();

print_r($response);

Laravel usage

As of now we only support Laravel 8. If there is any demand for previous versions we might look into adding these.
The package can be published into your Laravel project by the following command:

php artisan vendor:publish --provider="Leijman\FmpApiSdk\FmpServiceProvider"

The configuration file is accessible in config/fmp.php.
Finally update your .env file with the given API key.


When everything is set you can access the FMP API by the following structure:

use Leijman\FmpApiSdk\Facades\CompanyValuation\StockScreener;

StockScreener::setIsActivelyTrading(true)
    ->setExchange('NYSE,NASDAQ,EURONEXT')
    ->get();