Metadata-Version: 2.4
Name: geekflare-api
Version: 0.1.0
Summary: Official Python SDK for Geekflare API
Home-page: 
Author: OpenAPI Generator community
Author-email: Geekflare <support@geekflare.com>
License: MIT
Project-URL: Homepage, https://github.com/geekflare/geekflare-api-python
Project-URL: Documentation, https://docs.geekflare.com/api/intro
Project-URL: Repository, https://github.com/geekflare/geekflare-api-python
Project-URL: Issues, https://github.com/geekflare/geekflare-api-python/issues
Keywords: geekflare,api,sdk,scraping,screenshot,dns,search
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3>=1.25.3
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.0.0
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: license-file

# geekflare-api

Official Python SDK for the [Geekflare API](https://geekflare.com/api/).

## Installation

```bash
pip install geekflare-api
```

## Quick Start

```python
from geekflare_api.client import GeekflareClient
from geekflare_api.models import PingDto

with GeekflareClient(api_key="your-api-key") as client:
    result = client.ping(PingDto(url="https://google.com"))
    print(result)
```

## Available Methods

| Method                        | Description                    |
| ----------------------------- | ------------------------------ |
| `client.meta_scrape(body)`    | Scrape meta tags from a URL    |
| `client.web_scrape(body)`     | Scrape web page content        |
| `client.dns_record(body)`     | Look up DNS records            |
| `client.screenshot(body)`     | Take a screenshot of a URL     |
| `client.site_status(body)`    | Check if a site is up or down  |
| `client.redirect_check(body)` | Check redirect chain of a URL  |
| `client.broken_link(body)`    | Find broken links on a page    |
| `client.url2_pdf(body)`       | Convert a URL to PDF           |
| `client.open_ports(body)`     | Scan open ports on a host      |
| `client.tls_scan(body)`       | Scan TLS/SSL configuration     |
| `client.load_time(body)`      | Test page load time            |
| `client.mixed_content(body)`  | Check for mixed content issues |
| `client.dns_sec(body)`        | Check DNSSEC configuration     |
| `client.mtr(body)`            | Perform MTR network test       |
| `client.ping(body)`           | Ping a host                    |
| `client.lighthouse(body)`     | Run Lighthouse audit           |
| `client.search(body)`         | Perform a web search           |

## Error Handling

```python
from geekflare_api.exceptions import ApiException

try:
    result = client.ping(PingDto(url="https://google.com"))
except ApiException as e:
    print(f"API error {e.status}: {e.reason}")
```

## Links

- [API Documentation](https://docs.geekflare.com/api/intro)
- [Geekflare API](https://dash.geekflare.com)
- [Report Issues](https://github.com/geekflare/geekflare-api-python/issues)

## License

MIT
