Download the PHP package scheb/yahoo-finance-api without Composer
On this page you can find all versions of the php package scheb/yahoo-finance-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package yahoo-finance-api
scheb/yahoo-finance-api
This is a PHP client for Yahoo Finance API.
Since YQL APIs have been discontinued in November 2017, this client is using non-official API endpoints for quotes, search and historical data.
[!WARNING] These non-official APIs cannot be assumed stable and might break any time. Also, you might violate Yahoo's terms of service. So use them at your own risk.
- Installation
- Usage
- Configuration
- Version Guidance
- License
- Contributing
- Support Me
Installation
Download via Composer:
Alternatively, you can also add the package directly to composer.json:
and then tell Composer to install the package:
Usage
Configuration
User Agent
You can customize the User-Agent header by passing it in the Guzzle client options:
Using curl-impersonate
This library supports curl-impersonate to mimic real browser behavior. When using curl-impersonate, the library automatically removes the default User-Agent header to let curl-impersonate handle it.
To use curl-impersonate:
- Install curl-impersonate on your system
- Typically, you'd want to download the
libcurl-*
package for the respective system architecture and extract it - Follow the Using libcurl-impersonate in PHP scripts guide
- Typically, you'd want to download the
-
When execution your application, set the required environment variables:
- Create your API client normally - no additional configuration needed:
The library will automatically detect the CURL_IMPERSONATE
environment variable and configure the HTTP client
accordingly.
Retry Feature
The library includes a built-in retry mechanism that can automatically retry failed requests. Configure it when creating the client:
When a request fails, the library will:
- Wait for the specified delay
- Renew the session context (fetch new set of cookies and crumb value)
- Retry the request
- Repeat until success or max retries reached
Context Cache Feature
The library supports caching session contexts (cookies and crumb value) to improve performance and reduce HTTP requests. This is especially useful in high-traffic applications or when making multiple requests.
To use caching, you need a PSR-6 cache implementation, e.g. you could use symfony/cache
:
Then configure the cache. In this example, a simple file-based cache is used:
Version Guidance
Version | Status | PHP Version |
---|---|---|
1.x | EOL | >= 5.3.0 |
2.x | EOL | >= 5.6.0 |
3.x | EOL | >= 5.6.0 |
4.x | EOL | >= 7.1.3 |
5.x | Maintained | >= 8.1.0 |
License
This library is available under the MIT license.
Contributing
Want to contribute to this project? See CONTRIBUTING.md.
Support Me
I'm developing this library since 2014. I love to hear from people using it, giving me the motivation to keep working on my open source projects.
If you want to let me know you're finding it useful, please consider giving it a star ⭐ on GitHub.
If you love my work and want to say thank you, you can help me out for a beer 🍻️ via PayPal.