- How do I install juststeveking/companies-house-laravel in a Laravel application?
- Install it with Composer using composer require juststeveking/companies-house-laravel. Laravel package auto-discovery should register the service provider, and you normally publish the package config file with php artisan vendor:publish; check the README for the exact tag. The package adds no migrations or database tables, so installation is limited to Composer, config, and your API credentials.
- Does this package support Laravel 10 or Laravel 11?
- That is not safe to assume. The last release was September 2021, so its composer.json may declare Laravel 8 or 9 ceilings; check the PHP and illuminate/support constraints before installing. If your application is on a newer Laravel line, the practical options are a maintained fork or a small reimplementation rather than --ignore-platform-reqs.
- How do I configure my Companies House API key?
- Configuration is handled through the package's publishable config file, with the API key kept server-side and supplied through an environment variable. Keep the key out of frontend code and rotate it per environment. Confirm the exact env var name in the README or config file after publishing.
- Can the package validate a company number without calling the API?
- The package advertises company-number validation, but the technical evaluation flags that it is unverified whether validation is offline (format and checksum) or API-dependent. Offline validation is much more useful in a signup form because it avoids latency and quota use, while API-dependent validation cannot confirm existence without a request. Verify this in the source before designing the form flow.
- What Companies House data can I retrieve with this package?
- The wrapper is intended to expose company profiles, officers, filing history, and related records through a fluent Laravel interface. It is a client for the UK Companies House REST API, so the available fields and endpoints follow what Companies House serves. Officer data includes personal data, so treat display, caching, and attribution according to Companies House terms and UK GDPR.
- How do I handle 404 company not found and 429 rate limit errors?
- The package's exact error semantics need to be confirmed in the source: it may surface typed exceptions or raw HTTP client exceptions for 401, 404, 429, and 5xx responses. Whatever the wrapper returns, map 'company not found' as a legitimate validation outcome separate from 'API unavailable' and rate limiting. Companies House enforces per-window quotas, so add retry/backoff and a user-visible message for 429s.
- Does it support pagination for company search and filing history?
- Pagination support is not confirmed by the provided context; the technical evaluation specifically asks whether start_index and items_per_page are exposed for search and filing history. If the wrapper does not support them, list-style features will be capped and you may need to call the API directly or extend the package. Check the README and method signatures during your spike.
- Can I cache Companies House API responses with this package?
- The package is described as a stateless API wrapper with no migrations or Eloquent entities, but built-in caching and injectable cache stores are not confirmed. In practice, wrap lookups in Laravel's cache with a TTL that respects Companies House caching and display terms. Caching also helps you stay inside API rate limits.
- How do I fake or mock Companies House API calls in tests?
- A dedicated fake or mock mode is not confirmed in the provided context. If the package uses Laravel's HTTP client, Http::fake() is the first thing to try; otherwise mock the underlying client or bind a test double in the container. Do not let CI hit the live Companies House API.
- Is juststeveking/companies-house-laravel still maintained?
- The last release was September 2021, with one maintainer, around 22 stars, and no dependents, so treat it as a thin, low-moat wrapper rather than an actively maintained integration. Forking or reimplementing is contained work because the value is roughly a service class plus config. Before production use, verify PHP/Laravel constraints, error handling, and the Companies House terms for caching, re-display, and attribution.