Home

Freddie Mac PMMS Mortgage Rates

How to get Freddie Mac PMMS Mortgage Rates in Tableau

Official Freddie Mac Primary Mortgage Market Survey (PMMS): weekly 30-year fixed, 15-year fixed, and 5/1 ARM rates with points and spreads from the public history CSV. freddiemac.com is one page of it. A run reads that public list and saves one row per result.

Set up the Apify actor

Apify is where this run is collected. An actor is the program that collects the rows. A task is that program saved with your settings, so the next section can ask for the latest rows. You need a free Apify account.

  1. 01
    Open Freddie Mac PMMS Mortgage Rates and click Try for free. Create an Apify account if you do not have one. The Free plan does not ask for a card.
  2. 02
    You are on the input form. Keep the sample for this first run.
    {
        "latestOnly": true,
        "maxItems": 5
    }
  3. 03
    Leave the proxy setting as it is. Click Start and wait until the run says Succeeded.
  4. 04
    Open Storage, then Dataset. You should see surveyDate, rate30YearFixed, points30YearFixed, rate15YearFixed.
  5. 05
    When you want the real list, raise maxItems. The sample cap is only there so the first run stays small.
  6. 06
    Go back to the input and choose Save as a new task. Name it after this list.
  7. 07
    Open the task. Copy the task ID from the address bar. Excel, Sheets, Power BI, and the other guides ask for this ID.
  8. 08
    On the task, open Schedules and add a weekly run if you want fresh rows. Each run pays the start charge and the charge for the rows. The amounts are in the price list on this page.
  9. 09
    Open Settings, then API & Integrations, and copy an API token. Excel, Sheets, and the other guides put this token in a download link. Anyone with that link can download the rows, so treat it like a password.

How to set up in Tableau

Use the task ID and the API token from Set up the Apify actor, above.

  1. 01
    In Tableau, choose Connect, To a Server, REST API if that connector is available. Otherwise use the Web Data Connector path your Tableau version shows for a JSON URL.
  2. 02
    Paste this address. Replace TASK_ID and YOUR_TOKEN.
    https://api.apify.com/v2/actor-tasks/TASK_ID/runs/last/dataset/items?format=json&clean=true&status=SUCCEEDED&token=YOUR_TOKEN
  3. 03
    Use surveyDate, rate30YearFixed, points30YearFixed, rate15YearFixed, points15YearFixed. Refresh on the same schedule as the task from Set up the Apify actor, above.

Schema

Examples come from the actor sample, not a live result.

NameDescriptionExample
surveyDateSurvey Date2026-09-11
rate30YearFixedRate30Year Fixed6.35
points30YearFixedPoints30Year Fixed4.6
rate15YearFixedRate15Year Fixed5.55
points15YearFixedPoints15Year Fixed4.6
rate5YearArmRate5Year Arm5.7
points5YearArmPoints5Year Arm4.6
unitUnitpercent
sourceUrlSource Urlhttps://www.freddiemac.com/pmms/docs/PMMS_history.csv
scrapedAtScraped At2026-09-24T12:00:00.000Z
  • surveyDateSurvey Date2026-09-11
  • rate30YearFixedRate30Year Fixed6.35
  • points30YearFixedPoints30Year Fixed4.6
  • rate15YearFixedRate15Year Fixed5.55
  • points15YearFixedPoints15Year Fixed4.6
  • rate5YearArmRate5Year Arm5.7
  • points5YearArmPoints5Year Arm4.6
  • unitUnitpercent
  • sourceUrlSource Urlhttps://www.freddiemac.com/pmms/docs/PMMS_history.csv
  • scrapedAtScraped At2026-09-24T12:00:00.000Z