SDKs overview
Findwork provides a RESTful API designed for programmatic access to job listing data, supporting various use cases from embedding job search into applications to building custom job boards. To facilitate integration, Findwork offers official SDKs in several popular programming languages. These SDKs are developed and maintained by Findwork, ensuring compatibility and adherence to the API's specifications. They abstract away the complexities of HTTP requests, JSON parsing, and error handling, allowing developers to focus on application logic rather than low-level API interactions.
In addition to official SDKs, the Findwork developer community may contribute independent client libraries. These community-driven projects can offer alternative language support, specialized functionalities, or different architectural approaches. While official SDKs are recommended for their direct support from Findwork, community libraries can provide valuable options for specific development environments or preferences. Developers can find comprehensive details on API endpoints, request/response formats, and authentication methods in the Findwork API documentation.
Official SDKs by language
Findwork offers official SDKs for several programming languages, designed to streamline the integration process. These SDKs encapsulate the logic for interacting with the Findwork API, including handling API keys, constructing requests, and parsing responses. The table below outlines the currently supported official SDKs, their package names, and typical installation commands.
| Language | Package/Module | Installation Command | Maturity |
|---|---|---|---|
| Python | findwork-python |
pip install findwork-python |
Stable |
| JavaScript (Node.js/Browser) | @findwork/js-sdk |
npm install @findwork/js-sdk or yarn add @findwork/js-sdk |
Stable |
| Ruby | findwork-ruby |
gem install findwork-ruby |
Stable |
| PHP | findwork/php-sdk |
composer require findwork/php-sdk |
Stable |
| Go | github.com/findwork/go-sdk |
go get github.com/findwork/go-sdk |
Stable |
Each official SDK typically mirrors the structure and functionality of the underlying REST API, providing methods corresponding to the available API endpoints such as job search, job details, and feed management. Developers should refer to the specific SDK documentation for detailed usage instructions and examples relevant to their chosen language.
Installation
Installing Findwork's official SDKs involves using the standard package manager for each respective programming language. The following subsections detail the installation process for the primary supported languages.
Python
To install the official Python SDK, use pip, the Python package installer. Ensure you have a recent version of Python and pip installed.
pip install findwork-python
After installation, you can import the library and begin making API calls.
JavaScript (Node.js & Browser)
For JavaScript environments (both Node.js and modern browsers), use npm or Yarn to install the SDK.
# Using npm
npm install @findwork/js-sdk
# Using Yarn
yarn add @findwork/js-sdk
The JavaScript SDK is compatible with module bundlers like Webpack or Rollup for browser-based applications and can be directly used in Node.js projects.
Ruby
Install the Ruby SDK using RubyGems, Ruby's package manager.
gem install findwork-ruby
Once installed, you can require the gem in your Ruby scripts.
PHP
For PHP projects, the SDK is distributed via Composer, the PHP dependency manager. Ensure Composer is installed in your development environment.
composer require findwork/php-sdk
Composer will manage the installation and autoloading of the SDK classes.
Go
The Go SDK can be fetched using the go get command.
go get github.com/findwork/go-sdk
This command will download the package and its dependencies into your Go module cache.
Quickstart example
This section provides a basic quickstart example using the Python SDK to search for job listings. The core concept remains consistent across other SDKs: initialize the client with your API key and call the relevant method.
Before running, replace YOUR_API_KEY with your actual Findwork API key, obtainable from your Findwork developer dashboard. For more detailed examples and advanced usage, consult the Findwork API documentation.
Python Quickstart
This example demonstrates how to use the Python SDK to perform a job search for 'Software Engineer' roles in 'New York'.
import os
from findwork_python import FindworkClient
# Initialize the client with your API key
# It's recommended to store your API key as an environment variable
api_key = os.environ.get("FINDWORK_API_KEY", "YOUR_API_KEY")
client = FindworkClient(api_key=api_key)
try:
# Perform a job search
search_results = client.jobs.search(
query="Software Engineer",
location="New York",
limit=10 # Limit to 10 results
)
print(f"Found {search_results['total']} jobs for 'Software Engineer' in 'New York':")
for job in search_results['jobs']:
print(f"- {job['title']} at {job['company_name']} ({job['location']})")
print(f" URL: {job['url']}")
except Exception as e:
print(f"An error occurred: {e}")
This script initializes the FindworkClient and then calls the jobs.search method with specified parameters. The results, including job title, company, location, and URL, are then printed to the console. The structure of the response typically follows JSON:API conventions, providing structured data for easy consumption.
Community libraries
While Findwork maintains official SDKs for several popular languages, the developer community may also create and maintain unofficial client libraries. These community-contributed tools can offer support for additional programming languages, frameworks, or specific use cases not covered by the official SDKs. For example, a community library might provide integration with a particular web framework or offer a reactive programming interface.
Community libraries are often hosted on platforms like GitHub or language-specific package repositories (e.g., npm, PyPI, Rubygems). Developers interested in exploring community options should search these platforms using terms like "Findwork API client" or "Findwork SDK" combined with their preferred language. When using community libraries, it is advisable to review their documentation, community activity, and maintenance status to ensure they meet project requirements for reliability and security. Users should also consult the Fetch API documentation for general principles of interacting with RESTful services, which can be useful when evaluating or building custom clients.