PHPackages                             fidlines/fidlines - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fidlines/fidlines

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fidlines/fidlines
=================

Get random fidQ --Fareed Kubanda-- bars for your inspiration

0.0.1(5y ago)06MITPHP

Since Oct 20Pushed 5y ago1 watchersCompare

[ Source](https://github.com/fidlines/fidlines)[ Packagist](https://packagist.org/packages/fidlines/fidlines)[ RSS](/packages/fidlines-fidlines/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

FidQ Fidlines API &amp; PHP Pakage
==================================

[](#fidq-fidlines-api--php-pakage)

API
===

[](#api)

Overview
--------

[](#overview)

In partnership with [Twitter Community](https://twitter.com/), we're making bars|lines|michano|mistari from Fareed Kubanda (Fid Q) public available in near real time. Fidlines enables easy access of FidQ's lines from [Android](https://developer.android.com/), [iOS](https://firebase.google.com/docs/ios/setup) and the [web](https://firebase.google.com/docs/web/setup).

Please email  if you find any bugs.

URI and Versioning
------------------

[](#uri-and-versioning)

We hope to improve the API over time. The changes won't always be backward compatible, so we're going to use versioning. This first iteration will have URIs prefixed with `http://fidlines.fun/api/v0/` and is structured as described below. There is currently no rate limit.

For versioning purposes, only removal of a non-optional field or alteration of an existing field will be considered incompatible changes. *Consumers should gracefully handle additional fields they don't expect, and simply ignore them.*

Design
------

[](#design)

The v0 API is essentially a dump of our in-memory data structures. We know, what works great locally in memory isn't so hot over the network. Many of the awkward things are just the way fidlines works internally. Want to know the total number of comments on an article? Traverse the tree and count.

I'm not saying this to defend it - It's not the ideal public API, but it's the one we could release in the time we had. While awkward, it's possible to implement most of actions using it.

Lines
-----

[](#lines)

Refered to as bars, lines, mistari, michano in different formats can be retrived and in only one way be posted to this API `/v0/line[s]`.

All lines have some of the following properties, with required properties in bold:

FieldMandateDescription**id**RequiredThe lines's unique id.**bar**RequiredThis is is the fidline, a bar from fidQ singsongOptionalThe song from which the bar is extractedftOptionalThis is a name of person featured in a songalbumOptionalThe album from which the song belongsyearOptionalThe year corresponding son was releasedurlOptionalThe online resource the song can be retrived### Random line

[](#random-line)

Method: GET For example, a random bar: `http://fidlines.fun/api/v0/random`

Sample Respose:

```
{
  "data": {
    "id": "55f8545b04927b",
    "bar": "Ikiwa msafi ana zamani, basi mchafu nae ana future",
    "song": "Mzee Mbuzi",
    "ft": "Gifted",
    "url": "https://www.youtube.com/watch?v=-RXbaiuxfkw",
    "album": "KitaaOLOJIA",
    "year": 2019
  }
}
```

### Multiple lines

[](#multiple-lines)

Method: GET Multiple lines can be retived with: `http://fidlines.fun/api/v0/lines` with default pagination of 20 lines. Pagnation can be altered by number of bars as adding `?pagination={number}` like `http://fidlines.fun/api/v0/lines?pagination=45`

Sample Response:

```
{
  "data": [
    {
      "id": "55f84379934461",
      "bar": "Hic rerum error dicta officiis voluptas. Est provident repellendus eum eveniet.",
      "song": "Eligendi distinctio.",
      "ft": "Prof. Grady Leuschke",
      "url": "http://www.gutkowski.biz/",
      "album": "Placeat.",
      "year": "1982"
    },
    ...{
      "id": "55f8437993ca90",
      "bar": "Modi qui harum similique voluptate nulla id tempore quos. Quam in alias modi.",
      "song": "Ducimus rerum quasi.",
      "ft": "Dr. Nathan Boehm",
      "url": "http://kozey.com/architecto-nobis-dolor-ratione-quia-hic-consectetur",
      "album": "Sint.",
      "year": "1972"
    }
  ],
  "links": {
    "first": "http://fidlines.fun/api/v0/lines?page=1",
    "last": "http://fidlines.fun/api/v0/lines?page=3",
    "prev": null,
    "next": "http://fidlines.fun/api/v0/lines?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 3,
    "links": [
      {
        "url": null,
        "label": "Previous",
        "active": false
      },
      {
        "url": "http://fidlines.fun/api/v0/lines?page=1",
        "label": 1,
        "active": true
      },
      {
        "url": "http://fidlines.fun/api/v0/lines?page=2",
        "label": 2,
        "active": false
      },
      {
        "url": "http://fidlines.fun/api/v0/lines?page=3",
        "label": 3,
        "active": false
      },
      {
        "url": "http://fidlines.fun/api/v0/lines?page=2",
        "label": "Next",
        "active": false
      }
    ],
    "path": "http://fidlines.fun/api/v0/lines",
    "per_page": "42",
    "to": 42,
    "total": 99
  }
}
```

### Specific line

[](#specific-line)

Method: GET One can retrive a specific bar by its unique id like: `http://fidlines.fun/api/v0/line/{id}` example `http://fidlines.fun/api/v0/line/55f8545b04927b`

Sample response:

```
{
  "data": {
    "id": "55f8545b04927b",
    "bar": "Ikiwa msafi ana zamani, basi mchafu nae ana future",
    "song": "Mzee Mbuzi",
    "ft": "Gifted",
    "url": "https://www.youtube.com/watch?v=-RXbaiuxfkw",
    "album": "KitaaOLOJIA",
    "year": 2019
  }
}
```

### Add bar line

[](#add-bar-line)

Method: POST Endpoint: `http://fidlines.fun/api/v0/line`This will add new bar but unless it is verified by langage cheacker the wont be publicly retrivable

Sample Request:

```
{
  "bar": "Ikiwa msafi ana zamani, basi mchafu nae ana future",
  "song": "Mzee Mbuzi",
  "ft": "Gifted",
  "url": "https://www.youtube.com/watch?v=-RXbaiuxfkw",
  "album": "KitaaOLOJIA",
  "year": 2019
}
```

Sample Response:

```
{
  "data": {
    "id": "55f8545b04927b",
    "bar": "Ikiwa msafi ana zamani, basi mchafu nae ana future",
    "song": "Mzee Mbuzi",
    "ft": "Gifted",
    "url": "https://www.youtube.com/watch?v=-RXbaiuxfkw",
    "album": "KitaaOLOJIA",
    "year": 2019
  }
}
```

### Searching

[](#searching)

Searching lines with specific keywords is a work in progress.

Support
-------

[](#support)

For answers you may not find in the Wiki, avoid posting issues. Feel free to ask for support via email . Make sure to mention **fidlinesApiIssue** so he is notified.

License
-------

[](#license)

The rest of this API is licensed under the [BSD 3-Clause license](http://opensource.org/licenses/BSD-3-Clause).

Fidlines Library
================

[](#fidlines-library)

Are you coding in PHP? Fidlines library makes it easy to send HTTP requests to retrive Fid Q bars, here refeered as lines.

Installing Fidlines
-------------------

[](#installing-fidlines)

The recommended way to install Fidlines is through [Composer](https://getcomposer.org/).

```
composer require fidlines/fidlines
```

Fidlines, usage
===============

[](#fidlines-usage)

Call Fidlines package as below,

```
//Use fidlines library
use Fidlines\Fidlines\Fidlines;
```

Now, in functions call

```
//Get a single random verse
$verse = Fidlines::getRandomVerse();
echo $verse;

//To get a row verse in json format
$verse = Fidlines::getRandomVerseRaw();
return $verse;
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2027d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/979e7b5ad115c575c452f36f2316011ad49f9bb01cf45c5eb68d069af01ed64e?d=identicon)[kimwalu](/maintainers/kimwalu)

---

Top Contributors

[![keenops](https://avatars.githubusercontent.com/u/37520787?v=4)](https://github.com/keenops "keenops (2 commits)")

### Embed Badge

![Health badge](/badges/fidlines-fidlines/health.svg)

```
[![Health](https://phpackages.com/badges/fidlines-fidlines/health.svg)](https://phpackages.com/packages/fidlines-fidlines)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[dhlparcel/magento2-plugin

DHL Parcel plugin for Magento 2

11180.5k2](/packages/dhlparcel-magento2-plugin)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
