Skip to content

larseijman/fmp-api-sdk

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

Financial Modeling Prep API SDK

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();